perm filename BOOK.PHO[P,JRA] blob sn#328993 filedate 1978-01-18 generic text, type T, neo UTF8
/LMAR=0/XLINE=4/FONT#0=BASL30/FONT#1=BASB30/FONT#5=ASI30[LSP,JRA]/FONT#2=ASI30[LSP,JRA]/FONT#3=SUB/FONT#4=SET1/FONT#6=GRK30/FONT#7=SUP/FONT#8=SPEC[LSP,JRA]/FONT#9=BUCK75/FONT#10=GRFX25[LSP,JRA]/FONT#11=METSB/FONT#12=NGB30/FONT#13=GERM35/FONT#14=MG[LSP,JRA]/FONT#15=GRFX35
  <CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11><COLUMN=1220>Preface<SP><SP><SP><SP><SP>i
  <FONT=0><CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><FONT=9>Preface<FONT=0><CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=5><COLUMN=423>"...<COL INC 18>it<COL INC 17>is
  <COL INC 18>important<COL INC 17>not<COL INC 18>to<COL INC 17>lose
  <COL INC 18>sight<COL INC 17>of<COL INC 18>the<COL INC 17>fact
  <COL INC 18>that<COL INC 17>there<COL INC 18>is<COL INC 17>a<CR><LF>
<COLUMN=351><FONT=5><COLUMN=423>difference<COL INC 11>between
  <COL INC 11>training<COL INC 11>and<COL INC 11>education.<COL INC 11>
  <SP>If<COL INC 11>computer<COL INC 11>science<COL INC 11>is
  <COL INC 10>a<CR><LF>
<COLUMN=351><FONT=5><COLUMN=423>fundamental<COL INC 21>discipline,
  <COL INC 21>then<COL INC 21>university<COL INC 21>education
  <COL INC 21>in<COL INC 21>this<COL INC 20>field<CR><LF>
<COLUMN=351><FONT=5><COLUMN=423>should<COL INC 20>emphasize
  <COL INC 19>enduring<COL INC 20>fundamental<COL INC 19>principles
  <COL INC 20>rather<COL INC 19>than<CR><LF>
<COLUMN=351><FONT=5><COLUMN=423>transient<SP>current<SP>technology."
  <CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><COLUMN=634>Peter<SP>Wegner,<SP>
  <FONT=2>Three<SP>Computer<SP>Cultures<FONT=0><SP>[Weg<SP>70]<SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><CR><LF>
<CR><LF>
<CR><LINESPACE 8>
<COLUMN=351><FONT=0>This<COL INC 17>text<COL INC 17>is<COL INC 17>nominally
  <COL INC 17>about<COL INC 18>LISP<COL INC 17>and<COL INC 17>data
  <COL INC 17>structures.<COL INC 17>However,<COL INC 18>in<COL INC 17>the
  <CR><LF>
<COLUMN=351><FONT=0>process<COL INC 14>it<COL INC 13>covers
  <COL INC 14>much<COL INC 13>broader<COL INC 14>areas<COL INC 13>of
  <COL INC 14>computer<COL INC 13>science.<COL INC 14><SP>The
  <COL INC 14>author<COL INC 13>has<CR><LF>
<COLUMN=351><FONT=0>long<COL INC 13>felt<COL INC 14>that<COL INC 13>the
  <COL INC 14>beginning<COL INC 13>student<COL INC 13>of<COL INC 14>computer
  <COL INC 13>science<COL INC 14>has<COL INC 13>been<COL INC 14>getting
  <COL INC 13>a<CR><LF>
<COLUMN=351><FONT=0>distorted<COL INC 13>and<COL INC 13>disjointed
  <COL INC 13>picture<COL INC 13>of<COL INC 13>the<COL INC 13>field.
  <COL INC 13>In<COL INC 13>some<COL INC 13>ways<COL INC 13>this
  <COL INC 14>confusion<COL INC 13>is<CR><LF>
<COLUMN=351><FONT=0>natural;<COL INC 19>the<COL INC 19>field
  <COL INC 20>has<COL INC 19>been<COL INC 19>growing<COL INC 20>at
  <COL INC 19>such<COL INC 19>a<COL INC 20>rapid<COL INC 19>rate
  <COL INC 19>that<COL INC 20>few<COL INC 19>are<CR><LF>
<COLUMN=351><FONT=0>prepared<COL INC 15>to<COL INC 15>be<COL INC 16>judged
  <COL INC 15>experts<COL INC 15>in<COL INC 15>all<COL INC 16>areas
  <COL INC 15>of<COL INC 15>the<COL INC 15>discipline.<COL INC 16><SP>The
  <COL INC 15>current<CR><LF>
<COLUMN=351><FONT=0>alternative<COL INC 14>seems<COL INC 14>to
  <COL INC 15>be<COL INC 14>to<COL INC 14>give<COL INC 14>a<COL INC 15>few
  <COL INC 14>introductory<COL INC 14>courses<COL INC 15>in<COL INC 14>programming
  <CR><LF>
<COLUMN=351><FONT=0>and<COL INC 13>machine<COL INC 13>organization
  <COL INC 13>followed<COL INC 12>by<COL INC 13>relatively<COL INC 13>specialized
  <COL INC 13>courses<COL INC 13>in<COL INC 12>more<CR><LF>
<COLUMN=351><FONT=0>technical<COL INC 20>areas.<COL INC 20>The
  <COL INC 20>difficulty<COL INC 20>with<COL INC 20>this<COL INC 20>approach
  <COL INC 20>is<COL INC 20>that<COL INC 20>much<COL INC 20>of
  <COL INC 19>the<CR><LF>
<COLUMN=351><FONT=0>technical<COL INC 28>material<COL INC 27>never
  <COL INC 28>gets<COL INC 28>related.<COL INC 27>The<COL INC 28>student's
  <COL INC 28>perspective<COL INC 27>and<CR><LF>
<COLUMN=351><FONT=0>motivation<COL INC 18>suffers<COL INC 18>in
  <COL INC 18>the<COL INC 18>process.<COL INC 18>This<COL INC 18>book
  <COL INC 18>uses<COL INC 18>LISP<COL INC 18>as<COL INC 18>a
  <COL INC 19>means<COL INC 18>for<CR><LF>
<COLUMN=351><FONT=0>relating<COL INC 15>topics<COL INC 15>which
  <COL INC 15>normally<COL INC 15>get<COL INC 15>treated<COL INC 15>in
  <COL INC 15>several<COL INC 15>separate<COL INC 15>courses.
  <COL INC 15>The<CR><LF>
<COLUMN=351><FONT=0>point<COL INC 11>is<COL INC 11>not<COL INC 10>that
  <COL INC 11>we<COL INC 11><FONT=5>can<FONT=0><COL INC 11>do
  <COL INC 10>this<COL INC 11>in<COL INC 11>LISP,<COL INC 10>but
  <COL INC 11>rather<COL INC 11>that<COL INC 11>it<COL INC 10>is
  <COL INC 11><FONT=5>natural<FONT=0><COL INC 11>to<COL INC 11>do
  <COL INC 10>it<CR><LF>
<COLUMN=351><FONT=0>in<COL INC 13>LISP.<COL INC 13><SP>The
  <COL INC 13>high-level<COL INC 13>notation<COL INC 13>for<COL INC 13>algorithms
  <COL INC 13>is<COL INC 13>beneficial<COL INC 13>in<COL INC 12>explaining
  <CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>ii<SP><SP>Preface<COLUMN=1359><FONT=0>
  <CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>and<COL INC 13>understanding<COL INC 13>complex
  <COL INC 13>algorithms.<COL INC 12><SP>The<COL INC 13>use<COL INC 13>of
  <COL INC 13>abstract<COL INC 13>data<COL INC 12>structures<CR><LF>
<COLUMN=351><FONT=0>and<COL INC 10>abstract<COL INC 10>LISP
  <COL INC 10>programs<COL INC 10>shows<COL INC 10>the<COL INC 10>intent
  <COL INC 10>of<COL INC 10>structured<COL INC 11>programming
  <COL INC 10>and<CR><LF>
<COLUMN=351><FONT=0>step-wise<COL INC 13>refinement.<COL INC 13>Much
  <COL INC 13>of<COL INC 13>the<COL INC 13>current<COL INC 13>work
  <COL INC 13>in<COL INC 13>mathematical<COL INC 13>theories
  <COL INC 13>of<CR><LF>
<COLUMN=351><FONT=0>computation<COL INC 12>is<COL INC 12>based
  <COL INC 12>on<COL INC 12>LISP-like<COL INC 11>languages.<COL INC 12>Thus
  <COL INC 12>LISP<COL INC 12>is<COL INC 12>a<COL INC 12>formalism
  <COL INC 11>for<CR><LF>
<COLUMN=351><FONT=0>describing<COL INC 15>algorithms,<COL INC 15>for
  <COL INC 15>writing<COL INC 15>programs,<COL INC 15>and<COL INC 15>for
  <COL INC 15>proving<COL INC 15>properties<COL INC 14>of<CR><LF>
<COLUMN=351><FONT=0>algorithms.<COL INC 15><SP>We<COL INC 15>use
  <COL INC 15>data<COL INC 15>structures<COL INC 16>as<COL INC 15>the
  <COL INC 15>main<COL INC 15>thread<COL INC 15>in<COL INC 16>our
  <COL INC 15>discussions<CR><LF>
<COLUMN=351><FONT=0>because<COL INC 18>a<COL INC 18>proper
  <COL INC 17>appreciation<COL INC 18>of<COL INC 18>data<COL INC 18>structures
  <COL INC 17>as<COL INC 18>abstract<COL INC 18>objects<COL INC 18>is
  <COL INC 17>a<CR><LF>
<COLUMN=351><FONT=0>necessary<SP>prerequisite<SP>to<SP>an<SP>understanding
  <SP>of<SP>modern<SP>computer<SP>science.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>The<COL INC 16>importance<COL INC 16>of
  <COL INC 16>abstraction<COL INC 16>obviously<COL INC 16>goes
  <COL INC 16>much<COL INC 16>further<COL INC 16>than<COL INC 16>its
  <CR><LF>
<COLUMN=351><FONT=0>appearance<COL INC 12>in<COL INC 12>LISP.
  <COL INC 12>Abstraction<COL INC 12>has<COL INC 12>often<COL INC 12>been
  <COL INC 12>used<COL INC 12>in<COL INC 12>other<COL INC 13>disciplines
  <COL INC 12>as<CR><LF>
<COLUMN=351><FONT=0>a<COL INC 11>means<COL INC 11>for<COL INC 11>controlling
  <COL INC 11>complexity.<COL INC 10>In<COL INC 11>mathematics,
  <COL INC 11>we<COL INC 11>frequently<COL INC 11>are<COL INC 11>able
  <COL INC 10>to<CR><LF>
<COLUMN=351><FONT=0>gain<COL INC 12>new<COL INC 12>insights
  <COL INC 12>by<COL INC 12>recasting<COL INC 12>a<COL INC 12>particularly
  <COL INC 12>intransigent<COL INC 12>problem<COL INC 12>in<COL INC 12>a
  <COL INC 11>more<CR><LF>
<COLUMN=351><FONT=0>general<COL INC 23>setting.<COL INC 23><SP>Similarly,
  <COL INC 23>the<COL INC 24>intent<COL INC 23>of<COL INC 23>an
  <COL INC 23>algorithm<COL INC 23>expressed<COL INC 24>in<COL INC 23>a
  <CR><LF>
<COLUMN=351><FONT=0>high-level<COL INC 14>language<COL INC 14>like
  <COL INC 14>Fortran<COL INC 14>or<COL INC 14>PL/1<COL INC 14>is
  <COL INC 14>more<COL INC 14>readily<COL INC 14>apparent<COL INC 14>than
  <COL INC 14>its<CR><LF>
<COLUMN=351><FONT=0>machine-language<COL INC 22>equivalent.
  <COL INC 22><SP>These<COL INC 22>are<COL INC 22>both<COL INC 22>examples
  <COL INC 22>of<COL INC 22>the<COL INC 22>use<COL INC 21>of<CR><LF>
<COLUMN=351><FONT=0>abstraction.<COL INC 15>Our<COL INC 14>use
  <COL INC 15>of<COL INC 15>abstraction<COL INC 14>will<COL INC 15>impinge
  <COL INC 14>on<COL INC 15>both<COL INC 15>the<COL INC 14>mathematical
  <CR><LF>
<COLUMN=351><FONT=0>and<COL INC 12>the<COL INC 11>programming
  <COL INC 12>aspects.<COL INC 12><SP>Initially,<COL INC 11>we
  <COL INC 12>will<COL INC 12>talk<COL INC 11>about<COL INC 12>data
  <COL INC 12>structures<COL INC 11>as<CR><LF>
<COLUMN=351><FONT=0>abstract<COL INC 18>objects<COL INC 18>just
  <COL INC 19>as<COL INC 18>the<COL INC 18>mathematician<COL INC 19>takes
  <COL INC 18>the<COL INC 18>natural<COL INC 19>numbers<COL INC 18>as
  <CR><LF>
<COLUMN=351><FONT=0>abstract<COL INC 16>entities.<COL INC 16>We
  <COL INC 16>will<COL INC 16>attempt<COL INC 16>to<COL INC 16>categorize
  <COL INC 16>properties<COL INC 16>common<COL INC 17>to<COL INC 16>data
  <CR><LF>
<COLUMN=351><FONT=0>structures<COL INC 14>and<COL INC 14>introduce
  <COL INC 14>notation<COL INC 15>for<COL INC 14>describing<COL INC 14>functions
  <COL INC 14>defined<COL INC 15>on<COL INC 14>these<CR><LF>
<COLUMN=351><FONT=0>abstractions.<COL INC 16>At<COL INC 16>this
  <COL INC 17>level<COL INC 16>of<COL INC 16>discussion<COL INC 16>we
  <COL INC 17>are<COL INC 16>thinking<COL INC 16>of<COL INC 17>our
  <COL INC 16>LISP-like<CR><LF>
<COLUMN=351><FONT=0>language<COL INC 13>primarily<COL INC 12>as
  <COL INC 13>a<COL INC 12>notational<COL INC 13>convenience
  <COL INC 12>rather<COL INC 13>than<COL INC 13>a<COL INC 12>computational
  <CR><LF>
<COLUMN=351><FONT=0>device.<COL INC 21><SP>However,<COL INC 21>after
  <COL INC 21>a<COL INC 21>certain<COL INC 21>familiarity<COL INC 21>has
  <COL INC 21>been<COL INC 21>established<COL INC 21>it<COL INC 20>is
  <CR><LF>
<COLUMN=351><FONT=0>important<COL INC 12>to<COL INC 12>look
  <COL INC 12>at<COL INC 11>our<COL INC 12>work<COL INC 12>from
  <COL INC 12>the<COL INC 11>viewpoint<COL INC 12>of<COL INC 12>computer
  <COL INC 12>science.<COL INC 11>Here<CR><LF>
<COLUMN=351><FONT=0>we<COL INC 16>must<COL INC 16>think<COL INC 16>of
  <COL INC 16>the<COL INC 16>computational<COL INC 16>aspects
  <COL INC 16>of<COL INC 16>our<COL INC 16>notation.<COL INC 16>We
  <COL INC 16>must<COL INC 15>be<CR><LF>
<COLUMN=351><FONT=0>concerned<COL INC 18>with<COL INC 18>the
  <COL INC 18>representational<COL INC 18>problems:<COL INC 18>implementation
  <COL INC 18>on<COL INC 18>realistic<CR><LF>
<COLUMN=351><FONT=0>machines,<COL INC 20>and<COL INC 20>efficiency
  <COL INC 19>of<COL INC 20>algorithms<COL INC 20>and<COL INC 19>data
  <COL INC 20>structures.<COL INC 20>However,<COL INC 19>it<CR><LF>
<COLUMN=351><FONT=0>cannot<COL INC 11>be<COL INC 11>over-emphasized
  <COL INC 11>that<COL INC 11>our<COL INC 11>need<COL INC 11>for
  <COL INC 11>understanding<COL INC 11>is<COL INC 11>best<COL INC 11>served
  <COL INC 11>at<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 16>higher<COL INC 16>level
  <COL INC 16>of<COL INC 16>abstraction;<COL INC 15>the<COL INC 16>advantage
  <COL INC 16>of<COL INC 16>a<COL INC 16>high-level<COL INC 16>language
  <COL INC 15>is<CR><LF>
<COLUMN=351><FONT=0>notational<COL INC 18>rather<COL INC 18>than
  <COL INC 18>computational.<COL INC 18>That<COL INC 17>is,<COL INC 18>it
  <COL INC 18>allows<COL INC 18>us<COL INC 18>to<COL INC 18>think
  <COL INC 17>and<CR><LF>
<COLUMN=351><FONT=0>represent<COL INC 13>our<COL INC 13>algorithms
  <COL INC 14>in<COL INC 13>mathematical<COL INC 13>terms<COL INC 13>rather
  <COL INC 14>than<COL INC 13>in<COL INC 13>terms<COL INC 14>of
  <COL INC 13>the<CR><LF>
<COLUMN=351><FONT=0>machine.<COL INC 11><SP>It<COL INC 11>is
  <COL INC 11>after<COL INC 11>a<COL INC 11>clear<COL INC 11>understanding
  <COL INC 11>of<COL INC 11>the<COL INC 11>problem<COL INC 11>is
  <COL INC 11>attained<COL INC 11>that<COL INC 10>we<CR><LF>
<COLUMN=351><FONT=0>should<SP>begin<SP>thinking<SP>about<SP>representation.
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 12>can<COL INC 12>exploit
  <COL INC 12>the<COL INC 13>analogy<COL INC 12>with<COL INC 12>traditional
  <COL INC 12>mathematics<COL INC 12>a<COL INC 13>bit<COL INC 12>further.
  <CR><LF>
<COLUMN=351><FONT=0>When<COL INC 22>we<COL INC 22>write<COL INC 22>
  <FONT=2>sqrt(x)<FONT=0><COL INC 22>in<COL INC 21>Fortran,<COL INC 22>for
  <COL INC 22>example,<COL INC 22>we<COL INC 22>are<COL INC 22>initially
  <COL INC 21>only<CR><LF>
<COLUMN=351><FONT=0>concerned<COL INC 28>with<COL INC 28><FONT=2>sqrt
  <FONT=0><COL INC 28>as<COL INC 28>a<COL INC 28>mathematical
  <COL INC 28>function<COL INC 28>defined<COL INC 28>such<COL INC 27>that
  <CR><LF>
<COLUMN=351><FONT=0><FONT=2>x<SP>=<SP>sqrt(x)*sqrt(x)<FONT=0>.
  <COL INC 15>We<COL INC 15>are<COL INC 15>not<COL INC 16>interested
  <COL INC 15>in<COL INC 15>the<COL INC 15>specific<COL INC 15>algorithm
  <COL INC 16>used<COL INC 15>to<CR><LF>
<COLUMN=351><FONT=0>approximate<COL INC 13>the<COL INC 13>function
  <COL INC 14>intended<COL INC 13>in<COL INC 13>the<COL INC 13>notation.
  <COL INC 14>Indeed,<COL INC 13>thought<COL INC 13>of<COL INC 14>as
  <COL INC 13>a<CR><LF>
<COLUMN=351><FONT=0>mathematical<COL INC 17>notation,<COL INC 17>it
  <COL INC 16>doesn't<COL INC 17>matter<COL INC 17>how<COL INC 16>
  <FONT=2>sqrt<FONT=0><COL INC 17>is<COL INC 17>computed.<COL INC 17>We
  <COL INC 16>might<CR><LF>
<COLUMN=351><FONT=0>wish<COL INC 10>to<COL INC 10>prove<COL INC 10>some
  <COL INC 10>properties<COL INC 10>of<COL INC 11>the<COL INC 10>algorithm
  <COL INC 10>which<COL INC 10>we<COL INC 10>are<COL INC 10>encoding.
  <COL INC 11><SP>If<COL INC 10>so,<CR><LF>
<COLUMN=351><FONT=0>we<COL INC 13>would<COL INC 13>only<COL INC 14>use
  <COL INC 13>the<COL INC 13>mathematical<COL INC 13>properties
  <COL INC 14>of<COL INC 13>the<COL INC 13>idealized<COL INC 14>square
  <COL INC 13>root<CR><LF>
<COLUMN=351><FONT=0>function.<COL INC 10>Only<COL INC 10>later,
  <COL INC 10>after<COL INC 10>we<COL INC 10>had<COL INC 10>convinced
  <COL INC 10>ourselves<COL INC 10>of<COL INC 10>the<COL INC 11>correct
  <COL INC 10>encoding<CR><LF>
<COLUMN=351><FONT=0>of<COL INC 22>our<COL INC 22>intention
  <COL INC 22>in<COL INC 22>the<COL INC 23>Fortran<COL INC 22>program,
  <COL INC 22>would<COL INC 22>we<COL INC 22>worry<COL INC 23>about
  <COL INC 22>the<CR><LF>
<COLUMN=351><FONT=0>computational<COL INC 15>aspects<COL INC 14>of
  <COL INC 15>the<COL INC 14>Fortran<COL INC 15>implementation
  <COL INC 14><FONT=2>sqrt<FONT=0>.<COL INC 15>The<COL INC 15>typical
  <COL INC 14>user<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11><COLUMN=1202>Preface<SP><SP><SP><SP><SP>iii
  <FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>will<COL INC 19>never<COL INC 19>proceed
  <COL INC 19>deeper<COL INC 19>into<COL INC 19>the<COL INC 19>representation
  <COL INC 19>than<COL INC 19>this;<COL INC 19>only<COL INC 20>if
  <COL INC 19>his<CR><LF>
<COLUMN=351><FONT=0>computation<COL INC 27>is<COL INC 28>lethargic
  <COL INC 27>due<COL INC 27>to<COL INC 28>inefficiencies,<COL INC 27>or
  <COL INC 27>inaccurate<COL INC 28>due<COL INC 27>to<CR><LF>
<COLUMN=351><FONT=0>uncooperative<COL INC 14>approximations,
  <COL INC 14>will<COL INC 13>he<COL INC 14>look<COL INC 14>at
  <COL INC 13>the<COL INC 14>actual<COL INC 14>implementation
  <COL INC 13>of<CR><LF>
<COLUMN=351><FONT=0><FONT=2>sqrt<FONT=0>.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Just<COL INC 12>as<COL INC 13>it
  <COL INC 12>is<COL INC 13>unnecessary<COL INC 12>to<COL INC 13>learn
  <COL INC 12>machine<COL INC 13>language<COL INC 12>to<COL INC 13>study
  <COL INC 12>numerical<CR><LF>
<COLUMN=351><FONT=0>algorithms,<COL INC 15>it<COL INC 14>is
  <COL INC 15>also<COL INC 15>unnecessary<COL INC 14>to<COL INC 15>learn
  <COL INC 14>machine<COL INC 15>language<COL INC 15>to<COL INC 14>understand
  <CR><LF>
<COLUMN=351><FONT=0>non-numerical<COL INC 15>or<COL INC 15>data
  <COL INC 15>structure<COL INC 14>processes.<COL INC 15><SP>We
  <COL INC 15>make<COL INC 15>a<COL INC 15>distinction<COL INC 14>between
  <CR><LF>
<COLUMN=351><FONT=0>data<COL INC 22>structures<COL INC 22>and
  <COL INC 23>storage<COL INC 22>structures.<COL INC 22>Data
  <COL INC 22>structures<COL INC 23>are<COL INC 22>abstractions,<CR><LF>
<COLUMN=351><FONT=0>independent<COL INC 11>of<COL INC 11><FONT=5>how
  <FONT=0><COL INC 11>they<COL INC 11>are<COL INC 11>implemented
  <COL INC 11>on<COL INC 11>a<COL INC 11>machine.<COL INC 11><SP>Data
  <COL INC 12>structures<COL INC 11>are<CR><LF>
<COLUMN=351><FONT=0>representations<COL INC 24>of<COL INC 23>information
  <COL INC 24>chosen<COL INC 23>to<COL INC 24>exhibit<COL INC 23>certain
  <COL INC 24>ordering<COL INC 23>and<CR><LF>
<COLUMN=351><FONT=0>accessibility<COL INC 28>relationships
  <COL INC 28>between<COL INC 28>data<COL INC 28>items.<COL INC 28><SP>Storage
  <COL INC 28>structures<COL INC 27>are<CR><LF>
<COLUMN=351><FONT=0>particular<COL INC 12>implementations<COL INC 12>of
  <COL INC 12>the<COL INC 11>abstract<COL INC 12>ideas.<COL INC 12><SP>Certainly
  <COL INC 12>we<COL INC 12>cannot<COL INC 11>ignore<CR><LF>
<COLUMN=351><FONT=0>storage<COL INC 12>structures<COL INC 12>when
  <COL INC 12>we<COL INC 12>are<COL INC 13>deciding<COL INC 12>upon
  <COL INC 12>the<COL INC 12>data<COL INC 12>structures<COL INC 13>which
  <COL INC 12>will<CR><LF>
<COLUMN=351><FONT=0>encode<COL INC 17>the<COL INC 17>algorithm,
  <COL INC 17>but<COL INC 17>the<COL INC 17>interesting<COL INC 17>aspects
  <COL INC 17>of<COL INC 17>the<COL INC 18>representation<COL INC 17>of
  <CR><LF>
<COLUMN=351><FONT=0>information<COL INC 13>can<COL INC 14>be
  <COL INC 13>discussed<COL INC 14>at<COL INC 13>the<COL INC 14>level
  <COL INC 13>of<COL INC 14>data<COL INC 13>structures<COL INC 14>with
  <COL INC 13>no<COL INC 14>loss<COL INC 13>of<CR><LF>
<COLUMN=351><FONT=0>generality.<COL INC 15><SP>The<COL INC 15>mapping
  <COL INC 14>of<COL INC 15>data<COL INC 15>structures<COL INC 14>to
  <COL INC 15>storage<COL INC 15>structures<COL INC 15>is<COL INC 14>usually
  <CR><LF>
<COLUMN=351><FONT=0>quite<COL INC 14>machine<COL INC 14>dependent
  <COL INC 15>and<COL INC 14>we<COL INC 14>are<COL INC 14>more
  <COL INC 15>interested<COL INC 14>in<COL INC 14>ideas<COL INC 15>than
  <COL INC 14>coding<CR><LF>
<COLUMN=351><FONT=0>tricks.<COL INC 14><SP>We<COL INC 14>will
  <COL INC 14>see<COL INC 14>that<COL INC 14>it<COL INC 14>is
  <COL INC 14>possible,<COL INC 14>and<COL INC 14>most<COL INC 14>beneficial,
  <COL INC 14>to<COL INC 14>structure<COL INC 14>our<CR><LF>
<COLUMN=351><FONT=0>programs<COL INC 18>such<COL INC 19>that
  <COL INC 18>there<COL INC 19>is<COL INC 18>a<COL INC 19>very
  <COL INC 18>clean<COL INC 19>interface<COL INC 18>between<COL INC 19>the
  <COL INC 18>abstract<CR><LF>
<COLUMN=351><FONT=0>algorithm<COL INC 17>and<COL INC 17>the
  <COL INC 17>chosen<COL INC 17>representation.<COL INC 17><SP>That
  <COL INC 17>is,<COL INC 17>there<COL INC 17>will<COL INC 17>be
  <COL INC 17>a<COL INC 17>set<COL INC 17>of<CR><LF>
<COLUMN=351><FONT=0>representation-manipulating<COL INC 14>programs
  <COL INC 14>to<COL INC 14>test,<COL INC 14>select<COL INC 14>or
  <COL INC 14>construct<COL INC 14>elements<COL INC 13>of<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 11>domain;<COL INC 10>and<COL INC 11>there
  <COL INC 10>will<COL INC 11>be<COL INC 11>a<COL INC 10>program
  <COL INC 11>encoding<COL INC 10>the<COL INC 11>algorithm.<COL INC 11>Changes
  <COL INC 10>of<CR><LF>
<COLUMN=351><FONT=0>representations<COL INC 21>only<COL INC 21>require
  <COL INC 21>changes<COL INC 21>to<COL INC 21>the<COL INC 21>programs
  <COL INC 21>which<COL INC 22>access<COL INC 21>the<CR><LF>
<COLUMN=351><FONT=0>representation,<SP>not<SP>to<SP>the<SP>basic<SP>program.
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>One<COL INC 11>important<COL INC 11>insight
  <COL INC 11>which<COL INC 11>should<COL INC 11>be<COL INC 11>cultivated
  <COL INC 11>in<COL INC 11>this<COL INC 11>process<COL INC 11>is
  <COL INC 11>the<CR><LF>
<COLUMN=351><FONT=0>distinction<COL INC 17>between<COL INC 17>the
  <COL INC 17>concepts<COL INC 17>of<COL INC 16>function<COL INC 17>and
  <COL INC 17>algorithm.<COL INC 17><SP>The<COL INC 17>idea<COL INC 16>of
  <CR><LF>
<COLUMN=351><FONT=0>function<COL INC 14>is<COL INC 14>mathematical
  <COL INC 13>and<COL INC 14>is<COL INC 14>independent<COL INC 13>of
  <COL INC 14>any<COL INC 14>notion<COL INC 14>of<COL INC 13>computation;
  <CR><LF>
<COLUMN=351><FONT=0>the<COL INC 10>meaning<COL INC 11>of<COL INC 10>"algorithm"
  <COL INC 10>is<COL INC 11>computational,<COL INC 10>the<COL INC 10>effect
  <COL INC 11>of<COL INC 10>an<COL INC 11>algorithm<COL INC 10>being
  <CR><LF>
<COLUMN=351><FONT=0>to<COL INC 13>compute<COL INC 12>a<COL INC 13>function.
  <COL INC 13>Thus<COL INC 12>there<COL INC 13>are<COL INC 13>typically
  <COL INC 12>many<COL INC 13>algorithms<COL INC 13>which<COL INC 12>will
  <CR><LF>
<COLUMN=351><FONT=0>compute<SP>a<SP>specific<SP>function.<CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>This<COL INC 17>text<COL INC 17>is
  <COL INC 17><FONT=5>not<FONT=0><COL INC 17>meant<COL INC 17>to
  <COL INC 17>be<COL INC 17>a<COL INC 17>programming<COL INC 17>manual
  <COL INC 17>for<COL INC 17>LISP.<COL INC 17><SP>A<CR><LF>
<COLUMN=351><FONT=0>certain<COL INC 14>amount<COL INC 15>of
  <COL INC 14>time<COL INC 15>is<COL INC 14>spent<COL INC 15>giving
  <COL INC 14>insights<COL INC 15>into<COL INC 14>techniques
  <COL INC 15>for<COL INC 14>writing<CR><LF>
<COLUMN=351><FONT=0>LISP<COL INC 17>functions.<COL INC 17><SP>There
  <COL INC 17>are<COL INC 17>two<COL INC 17>reasons<COL INC 17>for
  <COL INC 17>this.<COL INC 17>First,<COL INC 17>the<COL INC 17>style
  <COL INC 17>of<COL INC 16>LISP<CR><LF>
<COLUMN=351><FONT=0>programming<COL INC 14>is<COL INC 14>quite
  <COL INC 14>different<COL INC 14>from<COL INC 14>that<COL INC 14>of
  <COL INC 14>"normal"<COL INC 14>programming.<COL INC 13><SP>LISP<CR><LF>
<COLUMN=351><FONT=0>was<COL INC 26>one<COL INC 27>of<COL INC 26>the
  <COL INC 26>first<COL INC 27>languages<COL INC 26>to<COL INC 26>exploit
  <COL INC 27>the<COL INC 26>virtues<COL INC 27>of<COL INC 26>recursive
  <CR><LF>
<COLUMN=351><FONT=0>programming<COL INC 11>and<COL INC 12>explore
  <COL INC 11>the<COL INC 11>power<COL INC 12>of<COL INC 11>procedure-valued
  <COL INC 12>variables.<COL INC 11><SP>Second,<CR><LF>
<COLUMN=351><FONT=0>we<COL INC 10>will<COL INC 10>spend<COL INC 10>a
  <COL INC 10>great<COL INC 10>deal<COL INC 10>of<COL INC 10>time
  <COL INC 10>discussing<COL INC 10>various<COL INC 10>levels
  <COL INC 10>of<COL INC 10>implementation<CR><LF>
<COLUMN=351><FONT=0>of<COL INC 19>the<COL INC 19>language.
  <COL INC 18>LISP<COL INC 19>is<COL INC 19>an<COL INC 18>excellent
  <COL INC 19>medium<COL INC 19>for<COL INC 19>introducing<COL INC 18>standard
  <CR><LF>
<COLUMN=351><FONT=0>techniques<COL INC 11>in<COL INC 11>data
  <COL INC 11>structure<COL INC 11>manipulation.<COL INC 11>Techniques
  <COL INC 11>for<COL INC 11>implementation<COL INC 10>of<CR><LF>
<COLUMN=351><FONT=0>recursion,<COL INC 16>implementation<COL INC 16>of
  <COL INC 15>complex<COL INC 16>data<COL INC 16>structures,
  <COL INC 16>storage<COL INC 15>management,<CR><LF>
<COLUMN=351><FONT=0>and<COL INC 21>symbol<COL INC 22>table
  <COL INC 21>manipulation<COL INC 22>are<COL INC 21>easily<COL INC 21>motivated
  <COL INC 22>in<COL INC 21>the<COL INC 22>context<COL INC 21>of<CR><LF>
<COLUMN=351><FONT=0>language<COL INC 14>implementation.<COL INC 15>Many
  <COL INC 14>of<COL INC 15>these<COL INC 14>standard<COL INC 15>techniques
  <COL INC 14>first<COL INC 15>arose<COL INC 14>in<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 15>implementation<COL INC 15>of
  <COL INC 16>LISP.<COL INC 15>But<COL INC 15>it<COL INC 15>is
  <COL INC 16>pointless<COL INC 15>to<COL INC 15>attempt<COL INC 15>a
  <COL INC 16>discussion<COL INC 15>of<CR><LF>
<COLUMN=351><FONT=0>implementation<SP>unless<SP>the<SP>reader<SP>has
  <SP>a<SP>thorough<SP>grasp<SP>of<SP>the<SP>language.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>iv<SP><SP>Preface<COLUMN=1359><FONT=0>
  <CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Granting<COL INC 12>the<COL INC 12>efficacy
  <COL INC 12>of<COL INC 12>our<COL INC 12>endeavor<COL INC 12>in
  <COL INC 12>abstraction,<COL INC 12>why<COL INC 12>study<COL INC 11>LISP?
  <CR><LF>
<COLUMN=351><FONT=0>LISP<COL INC 19>is<COL INC 20>at<COL INC 19>least
  <COL INC 20>fifteen<COL INC 19>years<COL INC 19>old<COL INC 20>and
  <COL INC 19>many<COL INC 20>new<COL INC 19>languages<COL INC 20>have
  <COL INC 19>been<CR><LF>
<COLUMN=351><FONT=0>proposed.<COL INC 21><SP>The<COL INC 22>difficulty
  <COL INC 21>is<COL INC 22>that<COL INC 21>the<COL INC 22>appropriate
  <COL INC 21>combination<COL INC 22>of<COL INC 21>these<CR><LF>
<COLUMN=351><FONT=0>features<COL INC 13>is<COL INC 13>not<COL INC 13>present
  <COL INC 13>in<COL INC 13>any<COL INC 13>other<COL INC 13>language.
  <COL INC 13>LISP<COL INC 13>unifies<COL INC 14>and<COL INC 13>rationalizes
  <CR><LF>
<COLUMN=351><FONT=0>many<COL INC 10>divergent<COL INC 10>formulations
  <COL INC 10>of<COL INC 11>language<COL INC 10>constructs.<COL INC 10>
  <SP>One<COL INC 10>might<COL INC 11>surmise<COL INC 10>that<CR><LF>
<COLUMN=351><FONT=0>a<COL INC 18>new<COL INC 19>language,<COL INC 18>profiting
  <COL INC 19>from<COL INC 18>LISP's<COL INC 18>experience,<COL INC 19>would
  <COL INC 18>make<COL INC 19>a<COL INC 18>better<CR><LF>
<COLUMN=351><FONT=0>pedagogical<COL INC 13>tool.<COL INC 12><SP>A
  <COL INC 13>strong<COL INC 12>successor<COL INC 13>has<COL INC 12>not
  <COL INC 13>arrived,<COL INC 12>and<COL INC 13>toy<COL INC 13>languages
  <COL INC 12>are<CR><LF>
<COLUMN=351><FONT=0>suspect<COL INC 11>for<COL INC 11>several
  <COL INC 11>reasons.<COL INC 11>The<COL INC 11>student<COL INC 11>may
  <COL INC 11>suspect<COL INC 11>that<COL INC 11>he<COL INC 11>is
  <COL INC 11>a<COL INC 11>subject<COL INC 11>in<COL INC 10>a<CR><LF>
<COLUMN=351><FONT=0>not<COL INC 19>too<COL INC 19>clever<COL INC 19>experiment
  <COL INC 19>being<COL INC 19>performed<COL INC 19>upon<COL INC 19>him
  <COL INC 19>by<COL INC 19>his<COL INC 18>instructor.<CR><LF>
<COLUMN=351><FONT=0>Having<COL INC 18>a<COL INC 19>backlog
  <COL INC 18>of<COL INC 19>fifteen<COL INC 18>years<COL INC 18>of
  <COL INC 19>experience<COL INC 18>and<COL INC 19>example<COL INC 18>programs
  <CR><LF>
<COLUMN=351><FONT=0>should<COL INC 12>do<COL INC 12>much<COL INC 12>to
  <COL INC 12>alleviate<COL INC 11>this<COL INC 12>discomfort.
  <COL INC 12><SP>The<COL INC 12>development<COL INC 12>of<COL INC 12>LISP
  <COL INC 11>also<CR><LF>
<COLUMN=351><FONT=0>shows<COL INC 16>many<COL INC 16>of<COL INC 16>the
  <COL INC 16>mistakes<COL INC 15>that<COL INC 16>the<COL INC 16>original
  <COL INC 16>implementors<COL INC 16>and<COL INC 15>designers<CR><LF>
<COLUMN=351><FONT=0>made.<COL INC 10><SP>We<COL INC 10>will
  <COL INC 10>point<COL INC 10>out<COL INC 10>the<COL INC 10>flaws
  <COL INC 10>and<COL INC 10>pitfalls<COL INC 10>awaiting<COL INC 10>the
  <COL INC 11>unwary<COL INC 10>language<CR><LF>
<COLUMN=351><FONT=0>designer.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 11>claim<COL INC 10>the
  <COL INC 11>more<COL INC 11>interesting<COL INC 10>aspects
  <COL INC 11>of<COL INC 11>LISP<COL INC 10>for<COL INC 11>students
  <COL INC 11>of<COL INC 10>computer<CR><LF>
<COLUMN=351><FONT=0>science<COL INC 12>lie<COL INC 11>not<COL INC 12>in
  <COL INC 12>its<COL INC 11>features<COL INC 12>as<COL INC 12>a
  <COL INC 11>programming<COL INC 12>language,<COL INC 12>but
  <COL INC 11>in<COL INC 12>what<COL INC 12>it<COL INC 11>can<CR><LF>
<COLUMN=351><FONT=0>show<COL INC 11>about<COL INC 12>the<COL INC 11>
  <FONT=5>structure<FONT=0><COL INC 12>of<COL INC 11>computer
  <COL INC 12>science.<COL INC 11><SP>There<COL INC 12>is<COL INC 11>a
  <COL INC 12>rapidly<COL INC 11>expanding<CR><LF>
<COLUMN=351><FONT=0>body<COL INC 17>of<COL INC 17>knowledge
  <COL INC 17>unique<COL INC 17>to<COL INC 17>computer<COL INC 17>science,
  <COL INC 17>neither<COL INC 17>mathematical<COL INC 16>nor<CR><LF>
<COLUMN=351><FONT=0>engineering<COL INC 12>per<COL INC 13>se.
  <COL INC 12><SP>Much<COL INC 13>of<COL INC 12>this<COL INC 12>area
  <COL INC 13>is<COL INC 12>presented<COL INC 13>most<COL INC 12>clearly
  <COL INC 13>by<COL INC 12>studying<CR><LF>
<COLUMN=351><FONT=0>LISP.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Again<COL INC 19>there<COL INC 19>are
  <COL INC 19>two<COL INC 19>ways<COL INC 19>to<COL INC 19>look
  <COL INC 19>at<COL INC 19>a<COL INC 19>high<COL INC 19>level
  <COL INC 19>language:<COL INC 19>as<COL INC 19>a<CR><LF>
<COLUMN=351><FONT=0>mathematical<COL INC 13>formalism,<COL INC 13>and
  <COL INC 13>as<COL INC 13>a<COL INC 13>programming<COL INC 13>language.
  <COL INC 13><SP>LISP<COL INC 13>is<COL INC 13>a<COL INC 13>better<CR><LF>
<COLUMN=351><FONT=0>formalism<COL INC 16>than<COL INC 16>most
  <COL INC 16>of<COL INC 16>its<COL INC 16>mathematical<COL INC 16>rivals
  <COL INC 16>because<COL INC 16>there<COL INC 17>is<COL INC 16>sufficient
  <CR><LF>
<COLUMN=351><FONT=0>organizational<COL INC 10>complexity<COL INC 10>present
  <COL INC 11>in<COL INC 10>LISP<COL INC 10>so<COL INC 10>as
  <COL INC 11>to<COL INC 10>make<COL INC 10>its<COL INC 11>implementation
  <COL INC 10>a<CR><LF>
<COLUMN=351><FONT=0>realistic<COL INC 20>computer<COL INC 20>science
  <COL INC 20>task<COL INC 19>and<COL INC 20>not<COL INC 20>just
  <COL INC 20>an<COL INC 20>interesting<COL INC 19>mathematical<CR><LF>
<COLUMN=351><FONT=0>curiosity.<COL INC 19><SP>Much<COL INC 19>of
  <COL INC 19>the<COL INC 19>power<COL INC 19>of<COL INC 18>LISP
  <COL INC 19>lies<COL INC 19>in<COL INC 19>its<COL INC 19>simplicity.
  <COL INC 19><SP>The<COL INC 18>data<CR><LF>
<COLUMN=351><FONT=0>structures<COL INC 12>are<COL INC 11>rich
  <COL INC 12>enough<COL INC 12>to<COL INC 11>easily<COL INC 12>describe
  <COL INC 11>sophisticated<COL INC 12>algorithms<COL INC 12>but
  <COL INC 11>not<CR><LF>
<COLUMN=351><FONT=0>so<COL INC 10>rich<COL INC 10>as<COL INC 10>to
  <COL INC 10>become<COL INC 11>obfuscatory.<COL INC 10><SP>Most
  <COL INC 10>every<COL INC 10>aspect<COL INC 10>of<COL INC 10>the
  <COL INC 11>implementation<COL INC 10>of<CR><LF>
<COLUMN=351><FONT=0>LISP<COL INC 11>and<COL INC 11>its<COL INC 10>translators
  <COL INC 11>has<COL INC 11>immediate<COL INC 10>implications
  <COL INC 11>to<COL INC 11>the<COL INC 11>implementation<COL INC 10>of
  <CR><LF>
<COLUMN=351><FONT=0>other<SP>languages<SP>and<SP>to<SP>the<SP>design
  <SP>of<SP>programming<SP>languages<SP>in<SP>general.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 17>will<COL INC 16>describe
  <COL INC 17>language<COL INC 16>translators<COL INC 17>(interpreters
  <COL INC 16>and<COL INC 17>compilers)<COL INC 16>as<CR><LF>
<COLUMN=351><FONT=0>LISP<COL INC 15>functions.<COL INC 15><SP>The
  <COL INC 15>structure<COL INC 15>of<COL INC 15>these<COL INC 15>translators
  <COL INC 15>when<COL INC 15>exposed<COL INC 15>as<COL INC 15>LISP<CR><LF>
<COLUMN=351><FONT=0>functions<COL INC 16>aids<COL INC 16>immensely
  <COL INC 16>in<COL INC 16>understanding<COL INC 16>the<COL INC 16>essential
  <COL INC 16>character<COL INC 17>of<COL INC 16>such<CR><LF>
<COLUMN=351><FONT=0>translators.<COL INC 11><SP>This<COL INC 12>is
  <COL INC 11>partly<COL INC 11>due<COL INC 12>to<COL INC 11>the
  <COL INC 11>simplicity<COL INC 12>of<COL INC 11>the<COL INC 11>language,
  <COL INC 12>but<COL INC 11>perhaps<CR><LF>
<COLUMN=351><FONT=0>more<COL INC 17>due<COL INC 16>to<COL INC 17>our
  <COL INC 16>ability<COL INC 17>to<COL INC 17>go<COL INC 16>right
  <COL INC 17>to<COL INC 16>the<COL INC 17>essential<COL INC 17>translating
  <COL INC 16>algorithm<CR><LF>
<COLUMN=351><FONT=0>without<SP>becoming<SP>bogged<SP>down<SP>in<SP>details
  <SP>of<SP>syntax.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>LISP<COL INC 18>has<COL INC 18>very
  <COL INC 18>important<COL INC 18>implications<COL INC 18>in
  <COL INC 18>the<COL INC 18>field<COL INC 18>of<COL INC 17>programming
  <CR><LF>
<COLUMN=351><FONT=0>language<COL INC 11>semantics,<COL INC 10>and
  <COL INC 11>is<COL INC 11>the<COL INC 10>dominant<COL INC 11>language
  <COL INC 11>in<COL INC 10>the<COL INC 11>closely<COL INC 11>related
  <COL INC 10>study<CR><LF>
<COLUMN=351><FONT=0>of<COL INC 12>provability<COL INC 12>of
  <COL INC 12>properties<COL INC 12>of<COL INC 12>programs.<COL INC 12>
  <SP>The<COL INC 12>idea<COL INC 12>of<COL INC 12>proving<COL INC 13>properties
  <COL INC 12>of<CR><LF>
<COLUMN=351><FONT=0>programs<COL INC 22>has<COL INC 22>been
  <COL INC 22>around<COL INC 22>for<COL INC 23>a<COL INC 22>very
  <COL INC 22>long<COL INC 22>time.<COL INC 22>Goldstein<COL INC 23>and
  <COL INC 22>von<CR><LF>
<COLUMN=351><FONT=0>Neumann<COL INC 23>were<COL INC 23>aware
  <COL INC 23>of<COL INC 23>the<COL INC 23>practical<COL INC 23>benefits
  <COL INC 23>of<COL INC 23>such<COL INC 23>endeavors.<COL INC 23>J.
  <CR><LF>
<COLUMN=351><FONT=0>McCarthy's<COL INC 21>work<COL INC 22>in
  <COL INC 21>LISP<COL INC 22>and<COL INC 21>the<COL INC 21>Theory
  <COL INC 22>of<COL INC 21>Computation<COL INC 22>sought<COL INC 21>to
  <CR><LF>
<COLUMN=351><FONT=0>establish<COL INC 16>formalisms<COL INC 16>and
  <COL INC 16>rules<COL INC 15>of<COL INC 16>inference<COL INC 16>for
  <COL INC 16>reasoning<COL INC 16>about<COL INC 15>programs.<CR><LF>
<COLUMN=351><FONT=0>However,<COL INC 15>the<COL INC 15>working
  <COL INC 15>programmers<COL INC 14>recognized<COL INC 15>debugging
  <COL INC 15>as<COL INC 15>the<COL INC 15>only<COL INC 14>tool<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11><COLUMN=1212>Preface<SP><SP><SP><SP><SP>v
  <FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>with<COL INC 32>which<COL INC 32>to<COL INC 32>generate
  <COL INC 33>a<COL INC 32>"correct"<COL INC 32>program,<COL INC 32>though
  <COL INC 33>clearly<COL INC 32>the<CR><LF>
<COLUMN=351><FONT=0>non-occurrence<COL INC 15>of<COL INC 15>bugs
  <COL INC 15>is<COL INC 15>no<COL INC 15>guarantee<COL INC 15>of
  <COL INC 15>correctness.<COL INC 15><SP>Until<COL INC 16>very
  <COL INC 15>recently<CR><LF>
<COLUMN=351><FONT=0>techniques<COL INC 14>for<COL INC 13>establishing
  <COL INC 14>correctness<COL INC 13>of<COL INC 14>practical
  <COL INC 13>programs<COL INC 14>simply<COL INC 14>did<COL INC 13>not
  <CR><LF>
<COLUMN=351><FONT=0>exist.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>A<SP>recent<SP>set<SP>of<SP>events
  <SP>is<SP>beginning<SP>to<SP>change<SP>this.<CR><LF>
<CR><LINESPACE 8>
<COLUMN=351><FONT=0><FONT=1>1.<FONT=0><COL INC 13>Programs
  <COL INC 13>are<COL INC 12>becoming<COL INC 13>so<COL INC 13>large
  <COL INC 12>and<COL INC 13>complex<COL INC 13>that,<COL INC 12>even
  <COL INC 13>though<COL INC 13>we<COL INC 12>write<CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>in<COL INC 15>a<COL INC 15>high-level
  <COL INC 15>language,<COL INC 15>our<COL INC 14>intuitions
  <COL INC 15>are<COL INC 15>not<COL INC 15>sufficient<COL INC 15>to
  <COL INC 15>sustain<COL INC 14>us<CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>when<COL INC 14>we<COL INC 13>try
  <COL INC 14>to<COL INC 13>find<COL INC 14>bugs.<COL INC 13>We
  <COL INC 14>are<COL INC 13>literally<COL INC 14>being<COL INC 13>forced
  <COL INC 14>to<COL INC 14>look<COL INC 13>beyond<CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>debugging.<CR><LINESPACE 9>
<COLUMN=351><FONT=0><FONT=1>2.<FONT=0><COL INC 15>The<COL INC 14>formalisms
  <COL INC 15>are<COL INC 15>maturing.<COL INC 14>We<COL INC 15>know
  <COL INC 14>a<COL INC 15>lot<COL INC 15>more<COL INC 14>about
  <COL INC 15>how<COL INC 15>to<COL INC 14>write<CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>"structured<COL INC 10>programs";
  <COL INC 10>we<COL INC 10>know<COL INC 10>how<COL INC 10>to
  <COL INC 10>design<COL INC 10>languages<COL INC 10>whose<COL INC 10>constructs
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>are<COL INC 12>more<COL INC 12>amenable
  <COL INC 12>to<COL INC 12>proof<COL INC 11>techniques.<COL INC 12>
  <SP>And<COL INC 12>most<COL INC 12>importantly,<COL INC 12>the
  <COL INC 11>tools<CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>we<COL INC 25>need<COL INC 25>for
  <COL INC 25>expressing<COL INC 25>properties<COL INC 25>of
  <COL INC 25>programs<COL INC 25>are<COL INC 25>finally<COL INC 25>being
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>developed.<CR><LINESPACE 9>
<COLUMN=351><FONT=0><FONT=1>3.<FONT=0><COL INC 20>The<COL INC 20>development
  <COL INC 20>of<COL INC 20>on-line<COL INC 19>techniques.<COL INC 20>The
  <COL INC 20>on-line<COL INC 20>system,<COL INC 20>with<COL INC 19>its
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>sophisticated<COL INC 18>display
  <COL INC 18>editors,<COL INC 18>debuggers<COL INC 18>and<COL INC 18>file
  <COL INC 18>handlers,<COL INC 18>is<COL INC 18>the<COL INC 17>only
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>reason<COL INC 17>that<COL INC 17>the
  <COL INC 17>traditional<COL INC 17>means<COL INC 17>of<COL INC 17>construction
  <COL INC 17>and<COL INC 17>modification<COL INC 17>of<CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>complex<COL INC 14>programs
  <COL INC 14>and<COL INC 14>systems<COL INC 14>has<COL INC 13>been
  <COL INC 14>able<COL INC 14>to<COL INC 14>survive<COL INC 14>this
  <COL INC 14>long.<COL INC 13>The<CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>interactive<COL INC 19>experience
  <COL INC 19>can<COL INC 19>now<COL INC 18>be<COL INC 19>adapted
  <COL INC 19>to<COL INC 19>program<COL INC 19>verifiers<COL INC 18>and
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>synthesizers.<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>This<COL INC 19>view<COL INC 18>of
  <COL INC 19>the<COL INC 18>programming<COL INC 19>process<COL INC 18>blends
  <COL INC 19>well<COL INC 18>with<COL INC 19>the<COL INC 18>LISP<CR><LF>
<COLUMN=351><FONT=0>philosophy.<COL INC 10><SP>We<COL INC 11>will
  <COL INC 10>show<COL INC 11>that<COL INC 10>the<COL INC 10>most
  <COL INC 11>natural<COL INC 10>way<COL INC 11>to<COL INC 10>write
  <COL INC 11>LISP<COL INC 10>programs<CR><LF>
<COLUMN=351><FONT=0>is<COL INC 12>"structured"<COL INC 11>in
  <COL INC 12>the<COL INC 12>best<COL INC 11>sense<COL INC 12>of
  <COL INC 11>the<COL INC 12>word,<COL INC 12>being<COL INC 11>clean
  <COL INC 12>in<COL INC 12>control<COL INC 11>structure,<CR><LF>
<COLUMN=351><FONT=0>concise<COL INC 14>by<COL INC 13>not<COL INC 14>attempting
  <COL INC 13>to<COL INC 14>do<COL INC 14>too<COL INC 13>much,
  <COL INC 14>and<COL INC 13>independent<COL INC 14>of<COL INC 14>a
  <COL INC 13>particular<CR><LF>
<COLUMN=351><FONT=0>data<SP>representation.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Many<COL INC 13>of<COL INC 12>the
  <COL INC 13>existing<COL INC 13>techniques<COL INC 12>for<COL INC 13>establishing
  <COL INC 13>correctness<COL INC 12>originated<CR><LF>
<COLUMN=351><FONT=0>in<COL INC 22>McCarthy's<COL INC 22>investigations
  <COL INC 22>of<COL INC 22>LISP;<COL INC 21>and<COL INC 22>some
  <COL INC 22>very<COL INC 22>recent<COL INC 22>work<COL INC 21>on<CR><LF>
<COLUMN=351><FONT=0>mathematical<COL INC 13>models<COL INC 13>for
  <COL INC 13>programming<COL INC 12>languages<COL INC 13>is
  <COL INC 13>easily<COL INC 13>motivated<COL INC 13>from<COL INC 12>a
  <CR><LF>
<COLUMN=351><FONT=0>discussion<SP>of<SP>LISP.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>LISP<COL INC 12>is<COL INC 12>the
  <COL INC 12>starting<COL INC 13>point<COL INC 12>for<COL INC 12>those
  <COL INC 12>interested<COL INC 12>in<COL INC 13>Artificial
  <COL INC 12>Intelligence.<CR><LF>
<COLUMN=351><FONT=0>It<COL INC 21>is<COL INC 21>no<COL INC 21>longer
  <COL INC 21>the<COL INC 21>"research"<COL INC 21>language,
  <COL INC 21>but<COL INC 21>has<COL INC 21>become<COL INC 21>the
  <COL INC 21>"systems"<CR><LF>
<COLUMN=351><FONT=0>language<COL INC 12>for<COL INC 12>A.I.
  <COL INC 12>Today's<COL INC 12>research<COL INC 12>languages
  <COL INC 12>are<COL INC 12>built<COL INC 12>on<COL INC 12>LISP,
  <COL INC 12>using<COL INC 12>LISP<CR><LF>
<COLUMN=351><FONT=0>as<SP>a<SP>machine<SP>language.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Finally<COL INC 12>there<COL INC 12>are
  <COL INC 12>certain<COL INC 11>properties<COL INC 12>of<COL INC 12>LISP-like
  <COL INC 12>languages<COL INC 12>which<COL INC 11>make<CR><LF>
<COLUMN=351><FONT=0>them<COL INC 18>the<COL INC 18>natural
  <COL INC 18>candidate<COL INC 18>for<COL INC 18>interactive
  <COL INC 18>program<COL INC 18>specification.<COL INC 18><SP>In
  <COL INC 17>the<CR><LF>
<COLUMN=351><FONT=0>chapter<COL INC 14>on<COL INC 14>implications
  <COL INC 14>of<COL INC 14>LISP<COL INC 14>we<COL INC 14>will
  <COL INC 14>characterize<COL INC 14>"LISP-like"<COL INC 14>and
  <COL INC 13>show<CR><LF>
<COLUMN=351><FONT=0>how<SP>interactive<SP>methods<SP>can<SP>be<SP>developed.
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>This<COL INC 16>text<COL INC 15>is
  <COL INC 16>primarily<COL INC 15>designed<COL INC 16>for<COL INC 15>undergraduates
  <COL INC 16>and<COL INC 16>therefore<COL INC 15>an<CR><LF>
<COLUMN=351><FONT=0>attempt<COL INC 13>is<COL INC 14>made<COL INC 13>to
  <COL INC 14>make<COL INC 13>it<COL INC 13>self-contained.<COL INC 14>There
  <COL INC 13>are<COL INC 14>basically<COL INC 13>five<COL INC 14>areas
  <COL INC 13>in<CR><LF>
<COLUMN=351><FONT=0>which<COL INC 13>to<COL INC 13>partition
  <COL INC 13>the<COL INC 13>topics:<COL INC 13>the<COL INC 13>mechanics
  <COL INC 13>of<COL INC 13>the<COL INC 13>language,<COL INC 13>the
  <COL INC 12>evaluation<CR><LF>
<COLUMN=351><FONT=0>of<COL INC 11>expressions<COL INC 11>in
  <COL INC 11>LISP,<COL INC 11>the<COL INC 11>static<COL INC 11>structure
  <COL INC 11>of<COL INC 11>LISP,<COL INC 11>the<COL INC 11>dynamic
  <COL INC 12>structure<COL INC 11>of<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>vi<SP><SP>Preface<COLUMN=1359><FONT=0>
  <CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>LISP,<COL INC 18>and<COL INC 18>the<COL INC 18>efficient
  <COL INC 18>representation<COL INC 18>of<COL INC 18>data<COL INC 18>structures
  <COL INC 19>and<COL INC 18>algorithms.<CR><LF>
<COLUMN=351><FONT=0>Each<COL INC 13>area<COL INC 14>builds
  <COL INC 13>on<COL INC 14>the<COL INC 13>previous.<COL INC 13>Taken
  <COL INC 14>as<COL INC 13>a<COL INC 14>group<COL INC 13>these
  <COL INC 14>topics<COL INC 13>introduce<CR><LF>
<COLUMN=351><FONT=0>much<SP>of<SP>what<SP>is<SP>interesting<SP>computer
  <SP>science.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>The<COL INC 13>first<COL INC 12>area
  <COL INC 13>develops<COL INC 13>the<COL INC 12>programming
  <COL INC 13>philosophy<COL INC 12>of<COL INC 13>LISP:<COL INC 13>the
  <COL INC 12>use<CR><LF>
<COLUMN=351><FONT=0>of<COL INC 15>data<COL INC 15>structures
  <COL INC 14>in<COL INC 15>programming;<COL INC 15>the<COL INC 14>language
  <COL INC 15>primitives,<COL INC 15>recursion,<COL INC 14>and<CR><LF>
<COLUMN=351><FONT=0>other<COL INC 13>control<COL INC 13>structures.
  <COL INC 12><SP>The<COL INC 13>second<COL INC 13>area,<COL INC 13>involveing
  <COL INC 12>a<COL INC 13>careful<COL INC 13>study<COL INC 13>of
  <COL INC 12>the<CR><LF>
<COLUMN=351><FONT=0>meaning<COL INC 14>of<COL INC 14>evaluation
  <COL INC 15>in<COL INC 14>LISP,<COL INC 14>gives<COL INC 14>insights
  <COL INC 15>into<COL INC 14>other<COL INC 14>languages<COL INC 15>and
  <COL INC 14>to<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 16>general<COL INC 16>question
  <COL INC 16>of<COL INC 17>implementation.<COL INC 16>The<COL INC 16>next
  <COL INC 16>two<COL INC 16>areas<COL INC 17>are<COL INC 16>involved
  <CR><LF>
<COLUMN=351><FONT=0>with<COL INC 17>implementation.<COL INC 17>The
  <COL INC 17>section<COL INC 18>on<COL INC 17>static<COL INC 17>structure
  <COL INC 17>deals<COL INC 17>with<COL INC 18>the<COL INC 17>basic<CR><LF>
<COLUMN=351><FONT=0>organization<COL INC 13>of<COL INC 13>memory
  <COL INC 13>for<COL INC 13>a<COL INC 13>LISP<COL INC 13>machine<SP>--
  <SP>be<COL INC 13>it<COL INC 13>hardware<COL INC 14>or<COL INC 13>simulated
  <CR><LF>
<COLUMN=351><FONT=0>in<COL INC 12>software.<COL INC 12>The
  <COL INC 12>dynamics<COL INC 12>of<COL INC 12>LISP<COL INC 12>discusses
  <COL INC 12>the<COL INC 12>primitive<COL INC 12>control<COL INC 12>structures
  <CR><LF>
<COLUMN=351><FONT=0>necessary<COL INC 15>for<COL INC 14>implementation
  <COL INC 15>of<COL INC 14>the<COL INC 15>LISP<COL INC 14>control
  <COL INC 15>structures<COL INC 15>and<COL INC 14>procedure<CR><LF>
<COLUMN=351><FONT=0>calls.<COL INC 20>LISP<COL INC 21>compilers
  <COL INC 20>are<COL INC 21>discussed<COL INC 20>here.<COL INC 20><SP>The
  <COL INC 21>final<COL INC 20>section<COL INC 21>relates<COL INC 20>our
  <CR><LF>
<COLUMN=351><FONT=0>discussion<COL INC 10>of<COL INC 11>LISP
  <COL INC 10>and<COL INC 10>its<COL INC 11>implementation<COL INC 10>to
  <COL INC 10>the<COL INC 11>more<COL INC 10>traditional<COL INC 11>material
  <COL INC 10>of<CR><LF>
<COLUMN=351><FONT=0>a<COL INC 13>data<COL INC 13>structures
  <COL INC 12>course.<COL INC 13>We<COL INC 13>discuss<COL INC 12>the
  <COL INC 13>problems<COL INC 13>of<COL INC 13>efficient<COL INC 12>representation
  <CR><LF>
<COLUMN=351><FONT=0>of<COL INC 25>data<COL INC 25>structures.
  <COL INC 25>By<COL INC 25>this<COL INC 26>point<COL INC 25>the
  <COL INC 25>student<COL INC 25>should<COL INC 25>have<COL INC 26>a
  <COL INC 25>better<CR><LF>
<COLUMN=351><FONT=0>understanding<COL INC 17>of<COL INC 16>the
  <COL INC 17>uses<COL INC 16>of<COL INC 17>data<COL INC 16>structures
  <COL INC 17>and<COL INC 16>should<COL INC 17>be<COL INC 17>motivated
  <COL INC 16>to<CR><LF>
<COLUMN=351><FONT=0>examine<SP>these<SP>issues<SP>with<SP>a<SP>better
  <SP>understanding.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>A<COL INC 13>large<COL INC 12>collection
  <COL INC 13>of<COL INC 12>problems<COL INC 13>has<COL INC 12>been
  <COL INC 13>included.<COL INC 12>The<COL INC 13>reader<COL INC 13>is
  <COL INC 12>urged<CR><LF>
<COLUMN=351><FONT=0>to<COL INC 11>do<COL INC 11>as<COL INC 10>many
  <COL INC 11>as<COL INC 11>possible.<COL INC 10><SP>The<COL INC 11>problems
  <COL INC 11>are<COL INC 10>mostly<COL INC 11>non-trivial;<COL INC 11>they
  <COL INC 10>attempt<CR><LF>
<COLUMN=351><FONT=0>to<COL INC 14>be<COL INC 14>realistic,
  <COL INC 13>introducing<COL INC 14>some<COL INC 14>new<COL INC 13>information
  <COL INC 14>which<COL INC 14>the<COL INC 14>readers<COL INC 13>should
  <CR><LF>
<COLUMN=351><FONT=0>be<COL INC 19>able<COL INC 19>to<COL INC 19>discover
  <COL INC 19>themselves.<COL INC 18>There<COL INC 19>are<COL INC 19>also
  <COL INC 19>a<COL INC 19>few<COL INC 19>rather<COL INC 18>substantial
  <CR><LF>
<COLUMN=351><FONT=0>projects.<COL INC 11><SP>At<COL INC 11>least
  <COL INC 12>one<COL INC 11>should<COL INC 11>be<COL INC 11>attempted.
  <COL INC 12><SP>There<COL INC 11>is<COL INC 11>a<COL INC 12>significant
  <COL INC 11>difference<CR><LF>
<COLUMN=351><FONT=0>between<COL INC 16>being<COL INC 16>able
  <COL INC 17>to<COL INC 16>program<COL INC 16>small<COL INC 16>problems
  <COL INC 17>and<COL INC 16>being<COL INC 16>able<COL INC 17>to
  <COL INC 16>handle<CR><LF>
<COLUMN=351><FONT=0>large<COL INC 14>projects.<COL INC 13>Small
  <COL INC 14>programming<COL INC 14>projects<COL INC 13>can
  <COL INC 14>be<COL INC 13>accomplished<COL INC 14>in<COL INC 14>spite
  <COL INC 13>of<CR><LF>
<COLUMN=351><FONT=0>any<COL INC 17>admonitions<COL INC 17>about
  <COL INC 18>"good<COL INC 17>programming<COL INC 17>style".
  <COL INC 18><SP>A<COL INC 17>large<COL INC 17>project<COL INC 18>is
  <COL INC 17>an<CR><LF>
<COLUMN=351><FONT=0>effective<COL INC 18>demonstration<COL INC 18>of
  <COL INC 19>the<COL INC 18>need<COL INC 18>for<COL INC 18>elegant
  <COL INC 19>programming<COL INC 18>techniques.<CR><LF>
<COLUMN=351><FONT=0>The<COL INC 21>text<COL INC 21>is<COL INC 21>large
  <COL INC 21>and<COL INC 21>covers<COL INC 20>much<COL INC 21>more
  <COL INC 21>than<COL INC 21>is<COL INC 21>recommended<COL INC 21>for
  <COL INC 20>a<CR><LF>
<COLUMN=351><FONT=0>one-semester<SP>course.<SP>A<SP>typical<SP>one
  <SP>semester<SP>course<SP>on<SP>data<SP>structures<SP>covers:<CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=471>Chapter<SP>1:<SP>all<CR><LINESPACE 9>
<COLUMN=351><FONT=0><COLUMN=471>Chapter<SP>2:<SP>without<SP>2.4,<SP>2.5,
  <SP>and<SP>2.10.<CR><LINESPACE 9>
<COLUMN=351><FONT=0><COLUMN=471>Chapter<SP>3:<SP>without<SP>the<SP>mathematical
  <SP>aspects<SP>of<SP>3.13<CR><LINESPACE 9>
<COLUMN=351><FONT=0><COLUMN=471>Chapter<SP>4:<SP>without<SP>4.7,<SP>4.8,
  <SP>and<SP>the<SP>mathematical<SP>aspects<SP>of<SP>4.11<CR>
  <LINESPACE 9>
<COLUMN=351><FONT=0><COLUMN=471>Chapter<SP>5:<SP>without<SP>5.8,<SP>5.19,
  <SP>and<SP>5.20<CR><LINESPACE 9>
<COLUMN=351><FONT=0><COLUMN=471>Chapter<SP>6:<SP>without<SP>6.8,<SP>
  <SP>and<SP>6.12<SP>through<SP>6.20<CR><LINESPACE 9>
<COLUMN=351><FONT=0><COLUMN=471>Chapter<SP>7:<SP>without<SP>7.5,<SP>7.6,
  <SP><SP>and<SP>7.10<SP>through<SP>7.14<CR><LINESPACE 9>
<COLUMN=351><FONT=0><COLUMN=471>Chapter<SP>8<SP>is<SP>also<SP>optional.
  <CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>If<COL INC 14>a<COL INC 14>good
  <COL INC 14>interactive<COL INC 14>LISP<COL INC 13>implementation
  <COL INC 14>is<COL INC 14>available,<COL INC 14>then<COL INC 14>the
  <COL INC 13>pace<CR><LF>
<COLUMN=351><FONT=0>can<COL INC 16>be<COL INC 16>quickened
  <COL INC 16>and<COL INC 16>the<COL INC 16>projects<COL INC 16>enlarged.
  <COL INC 16><SP>However,<COL INC 16>if<COL INC 16>only<COL INC 16>a
  <COL INC 16>poor<COL INC 15>or<CR><LF>
<COLUMN=351><FONT=0>mediocre<COL INC 16>implementation<COL INC 15>is
  <COL INC 16>accessible,<COL INC 15>then<COL INC 16>the<COL INC 15>course
  <COL INC 16>time<COL INC 15>is<COL INC 16>better<COL INC 15>spent<CR><LF>
<COLUMN=351><FONT=0>without<COL INC 18><FONT=5>any<FONT=0>
  <COL INC 18>actual<COL INC 18>programming,<COL INC 18>or<COL INC 18>the
  <COL INC 18>course<COL INC 18>should<COL INC 18>be<COL INC 19>augmented
  <COL INC 18>to<CR><LF>
<COLUMN=351><FONT=0>include<COL INC 20>an<COL INC 20>implementation
  <COL INC 20>laboratory.<COL INC 20><SP>LISP<COL INC 20>is<COL INC 20>an
  <COL INC 20>interactive<COL INC 20>language;<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11><COLUMN=1194>Preface<SP><SP><SP><SP><SP>vii
  <FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>attempts<COL INC 14>at<COL INC 15>other
  <COL INC 14>modes<COL INC 15>of<COL INC 14>operation<COL INC 14>do
  <COL INC 15>a<COL INC 14>disservice<COL INC 15>to<COL INC 14>both
  <COL INC 15>the<COL INC 14>language<CR><LF>
<COLUMN=351><FONT=0>and<SP>the<SP>user.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Finally<COL INC 10>a<COL INC 10>note
  <COL INC 11>on<COL INC 10>the<COL INC 10>structure<COL INC 11>of
  <COL INC 10>the<COL INC 10>text.<COL INC 11>The<COL INC 10>emphasis
  <COL INC 10>flows<COL INC 11>from<COL INC 10>the<CR><LF>
<COLUMN=351><FONT=0>abstract<COL INC 12>to<COL INC 12>the<COL INC 12>specific,
  <COL INC 12>beginning<COL INC 12>with<COL INC 12>a<COL INC 12>description
  <COL INC 12>of<COL INC 12>the<COL INC 12>domain<COL INC 13>of
  <COL INC 12>LISP<CR><LF>
<COLUMN=351><FONT=0>functions<COL INC 17>and<COL INC 18>the
  <COL INC 17>operations<COL INC 18>defined<COL INC 17>over<COL INC 18>that
  <COL INC 17>domain,<COL INC 18>and<COL INC 17>moves<COL INC 18>to
  <COL INC 17>a<CR><LF>
<COLUMN=351><FONT=0>discussion<COL INC 13>of<COL INC 14>the
  <COL INC 13>details<COL INC 14>of<COL INC 13>efficient<COL INC 14>implementation
  <COL INC 13>of<COL INC 14>LISP-like<COL INC 13>languages.<CR><LF>
<COLUMN=351><FONT=0>The<COL INC 21>practical-minded<COL INC 21>programmer
  <COL INC 21>might<COL INC 21>be<COL INC 21>put-off<COL INC 21>by
  <COL INC 21>the<COL INC 21>"irrelevant"<CR><LF>
<COLUMN=351><FONT=0>theory<COL INC 16>and<COL INC 16>the<COL INC 16>theoretical-minded
  <COL INC 16>mathematician<COL INC 16>might<COL INC 16>be<COL INC 16>put-off
  <COL INC 17>by<COL INC 16>the<CR><LF>
<COLUMN=351><FONT=0>"irrelevant"<COL INC 16>details<COL INC 16>of
  <COL INC 16>implementation.<COL INC 16>If<COL INC 16>you<COL INC 16>lie
  <COL INC 16>somewhere<COL INC 16>between<COL INC 15>these<CR><LF>
<COLUMN=351><FONT=0>two<SP>extremes,<SP>then<SP>welcome.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11><COLUMN=1146>CONTENTS<SP><SP><SP><SP>
  <SP>447<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=1><COLUMN=609>T<SP>A<SP>B<SP>L<SP>E<SP><SP><SP>O
  <SP>F<SP><SP><SP>C<SP>O<SP>N<SP>T<SP>E<SP>N<SP>T<SP>S<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=351><FONT=1>PREFACE<COLUMN=1349>i<CR><LF>
<CR><LF>
<COLUMN=351><FONT=1>CHAPTER<COLUMN=1276>PAGE<FONT=0><CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><COLUMN=387>1<COLUMN=435>SYMBOLIC<SP>EXPRESSIONS
  <COLUMN=1344>1<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>1.1<COLUMN=555>Introduction
  <COLUMN=735><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><COLUMN=1334><SP>1<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>1.2<COLUMN=555>Symbolic<SP>Expressions:
  <SP>Abstract<SP>Data<SP>Structures<COLUMN=1119><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1334><SP>5
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>1.3<COLUMN=555>Trees:<SP>Representations
  <SP>of<SP>Symbolic<SP>expressions<COLUMN=1119><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1334><SP>8
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>1.4<COLUMN=555>Primitive<SP>Functions
  <COLUMN=807><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1319><SP>10
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>1.5<COLUMN=555>Predicates<SP>and<SP>Conditional
  <SP>Expressions<COLUMN=1095><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1319><SP>18<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>1.6<COLUMN=555>Sequences:<SP>Abstract
  <SP>Data<SP>Structures<COLUMN=1023><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1319><SP>26<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>1.7<COLUMN=555>Lists:<SP>Representations
  <SP>of<SP>Sequences<COLUMN=1023><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1319><SP>31<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>1.8<COLUMN=555>A<SP>Respite
  <COLUMN=699><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><COLUMN=1319><SP>38<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>1.9<COLUMN=555>Becoming<SP>an<SP>Expert
  <COLUMN=843><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1319><SP>43<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><COLUMN=387>2<COLUMN=435>APPLICATIONS<SP>OF<SP>LISP
  <COLUMN=1329>53<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>2.1<COLUMN=555>Introduction
  <COLUMN=735><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><COLUMN=1319><SP>53<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>2.2<COLUMN=555>Examples<SP>of<SP>LISP
  <SP>Applications<COLUMN=987><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1319><SP>56<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>2.3<COLUMN=555>Differentiation
  <COLUMN=771><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1319><SP>57<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>2.4<COLUMN=555>Tree<SP>Searching
  <COLUMN=771><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1319><SP>66<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>2.5<COLUMN=555>Data<SP>Bases
  <COLUMN=699><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><COLUMN=1319><SP>69<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>2.6<COLUMN=555>Algebra<SP>of<SP>Polynomials
  <COLUMN=879><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><COLUMN=1319><SP>75<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>2.7<COLUMN=555>Evaluation<SP>of<SP>Polynomials
  <COLUMN=915><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><COLUMN=1319><SP>79<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>2.8<COLUMN=555>The<SP>Great<SP>Progenitors
  <COLUMN=843><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1319><SP>91<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>2.9<COLUMN=555>Another<SP>Respite
  <COLUMN=771><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1319><SP>92<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>2.10<COLUMN=555>Proving<SP>Properties
  <SP>of<SP>Programs<COLUMN=987><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><COLUMN=1319><SP>94<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><COLUMN=387>3<COLUMN=435>EVALUATION<SP>OF<SP>LISP
  <SP>EXPRESSIONS<COLUMN=1329>97<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>3.1<COLUMN=555>Introduction
  <COLUMN=735><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><COLUMN=1319><SP>97<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>3.2<COLUMN=555>S-expr<SP>Translation
  <SP>of<SP>LISP<SP>Expressions<COLUMN=1095><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>104<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>3.3<COLUMN=555>Symbol<SP>Tables
  <COLUMN=771><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>107<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>3.4<COLUMN=555><FONT=2>λ<FONT=0>-notation
  <COLUMN=699><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><COLUMN=1304><SP>110<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>3.5<COLUMN=555>Mechanization<SP>of
  <SP>Evaluation<COLUMN=951><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><COLUMN=1304><SP>114<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>3.6<COLUMN=555>Examples<SP>of<SP>
  <FONT=2>eval<FONT=0><COLUMN=771><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><COLUMN=1304><SP>118<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>3.7<COLUMN=555>Variables<COLUMN=699>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><COLUMN=1304><SP>128<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>448<SP><SP>CONTENTS<COLUMN=1359><FONT=0>
  <CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=483>3.8<COLUMN=555>Environments<SP>and
  <SP>Bindings<COLUMN=915><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><COLUMN=1304><SP>131<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>3.9<COLUMN=555><FONT=2>label<FONT=0>
  <COLUMN=627><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>136<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>3.10<COLUMN=555>Functional<SP>Arguments
  <SP>and<SP>Functional<SP>Values<COLUMN=1071><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>137
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>3.11<COLUMN=555>Binding<SP>Strategies
  <SP>and<SP>Implementations<COLUMN=1095><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>149<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>3.12<COLUMN=555>Special<SP>Forms<SP>and
  <SP>Macros<COLUMN=915><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><COLUMN=1304><SP>154<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>3.13<COLUMN=555>Review<SP>and<SP>Reflection
  <COLUMN=843><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>157<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><COLUMN=387>4<COLUMN=435>IMPERATIVE<SP>CONSTRUCTS
  <SP>IN<SP>LISP<COLUMN=1314>184<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>4.1<COLUMN=555>Introduction
  <COLUMN=735><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>184<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>4.2<COLUMN=555>The<SP><FONT=2>prog
  <FONT=0>-feature<COLUMN=771><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><COLUMN=1304><SP>186<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>4.3<COLUMN=555>Alternatives<SP>to<SP>
  <FONT=2>prog<FONT=0><COLUMN=807><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>194<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>4.4<COLUMN=555>Extensions<SP>to<SP>
  <FONT=2>eval<FONT=0><COLUMN=807><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>197<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>4.5<COLUMN=555>Non-recursive<SP>Control
  <SP>Structures<COLUMN=987><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>198<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>4.6<COLUMN=555><FONT=2>eval<FONT=0>
  <SP>with<SP>Explicit<SP>Access<COLUMN=879><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>199
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>4.7<COLUMN=555><FONT=2>eval<FONT=0>
  <SP>with<SP>Explicit<SP>Control<COLUMN=915><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>207<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>4.8<COLUMN=555>An<SP>Evaluator<SP>for
  <SP><FONT=2>prog<FONT=0><COLUMN=843><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304>
  <SP>211<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>4.9<COLUMN=555>Alternatives<SP>to<SP>
  <FONT=2>eval<FONT=0><COLUMN=807><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>220<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>4.10<COLUMN=555>Function<SP>Definitions
  <COLUMN=843><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>224<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>4.11<COLUMN=555>Rapprochement:<SP>In
  <SP>Retrospect<COLUMN=951><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><COLUMN=1304><SP>227<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>4.12<COLUMN=555>LISP<SP>Machines
  <COLUMN=771><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>235<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><COLUMN=387>5<COLUMN=435>THE<SP>STATIC<SP>STRUCTURE
  <SP>OF<SP>LISP<COLUMN=1314>244<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.1<COLUMN=555>Introduction
  <COLUMN=735><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>244<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.2<COLUMN=555>Representation<SP>of
  <SP>S-expressions<COLUMN=987><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>245<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.3<COLUMN=555>Representation<SP>of
  <SP>LISP<SP>Primitives<COLUMN=1023><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>249<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.4<COLUMN=555>AMBIT/G<COLUMN=699>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><COLUMN=1304><SP>253<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.5<COLUMN=555>A<SP>Few<SP>Programming
  <SP>Techniques<COLUMN=987><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>254<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.6<COLUMN=555>Symbol<SP>Tables<SP>and
  <SP>Property-lists<COLUMN=987><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><COLUMN=1304><SP>256<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.7<COLUMN=555>Property-list<SP>Functions
  <COLUMN=843><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>261<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.8<COLUMN=555>An<SP><FONT=2>eval
  <FONT=0><SP>for<SP>Property-lists<COLUMN=879><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304>
  <SP>262<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.9<COLUMN=555>Representation<SP>of
  <SP>Property-lists<COLUMN=951><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><COLUMN=1304><SP>265<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.10<COLUMN=555>A<SP>Picture<SP>of
  <SP>the<SP>Atom<SP><FONT=2>NIL<FONT=0><COLUMN=915><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>270<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.11<COLUMN=555>Input/Output:<SP>
  <FONT=2>read<FONT=0><SP>and<SP><FONT=2>print<FONT=0><COLUMN=951><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>271<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.12<COLUMN=555>Table<SP>Searching:
  <SP>Hashing<COLUMN=915><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><COLUMN=1304><SP>275<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.13<COLUMN=555>A<SP>First<SP>Look
  <SP>At<SP><FONT=2>cons<FONT=0><COLUMN=843><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>281<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.14<COLUMN=555>Storage<SP>Management:
  <SP>Garbage<SP>Collection<COLUMN=1095><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>282<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.15<COLUMN=555>A<SP>Simple<SP>LISP
  <SP>Garbage<SP>Collector<COLUMN=1023><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>284<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.16<COLUMN=555>A<SP>Review<SP>of<SP>the
  <SP>Structure<SP>of<SP>the<SP>LISP<SP>Machine<COLUMN=1107><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304>
  <SP>289<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.17<COLUMN=555>Implementations<SP>of
  <SP>Binding<COLUMN=915><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><COLUMN=1304><SP>289<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.18<COLUMN=555>Stack<SP>Implementation
  <SP>of<SP>a<SP>LISP<SP>subset:<SP>Deep<CR><LF>
<COLUMN=351><FONT=0><COLUMN=711>Bound<COLUMN=807><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><COLUMN=1304><SP>292<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11><COLUMN=1146>CONTENTS<SP><SP><SP><SP>
  <SP>449<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=483>5.19<COLUMN=555>Stack<SP>Implementation
  <SP>of<SP>a<SP>LISP<SP>Subset:<SP>Shallow<CR><LF>
<COLUMN=351><FONT=0><COLUMN=711>Bound<COLUMN=807><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><COLUMN=1304><SP>293<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.20<COLUMN=555>Strategies<SP>for<SP>Full
  <SP>LISP<SP>Implementation<COLUMN=1095><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>300<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>5.21<COLUMN=555>Epilogue<COLUMN=663>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><COLUMN=1304><SP>302<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><COLUMN=387>6<COLUMN=435>THE<SP>DYNAMIC<SP>STRUCTURE
  <SP>OF<SP>LISP<COLUMN=1314>304<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.1<COLUMN=555>Introduction
  <COLUMN=735><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>304<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.2<COLUMN=555>Primitives<SP>for<SP>LISP
  <COLUMN=807><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>309
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.3<COLUMN=555><FONT=1>SM<FONT=0>:
  <SP>A<SP>Simple<SP>Machine<COLUMN=879><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>312<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.4<COLUMN=555>Implementation<SP>of
  <SP>the<SP>Primitives<COLUMN=987><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><COLUMN=1304><SP>316<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.5<COLUMN=555>Assemblers<COLUMN=699>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><COLUMN=1304><SP>320<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.6<COLUMN=555>Compilers<SP>for<SP>Subsets
  <SP>of<SP>LISP<COLUMN=951><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><COLUMN=1304><SP>323<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.7<COLUMN=555>Compilation<SP>of<SP>Conditional
  <SP>Expressions<COLUMN=1095><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>325<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.8<COLUMN=555>One-pass<SP>Assemblers
  <SP>and<SP>Fixups<COLUMN=987><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>329<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.9<COLUMN=555>A<SP>compiler<SP>for
  <SP>Simple<SP><FONT=2>eval<FONT=0>:<SP>The<SP>Value<SP>Stack
  <COLUMN=1083><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><COLUMN=1304><SP>332<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.10<COLUMN=555>A<SP>Compiler<SP>for
  <SP>Simple<SP><FONT=2>eval<FONT=0><COLUMN=915><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>335<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.11<COLUMN=555>Efficient<SP>Compilation
  <COLUMN=843><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>340<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.12<COLUMN=555>Efficiency:<SP>Primitive
  <SP>Operations<COLUMN=987><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>341<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.13<COLUMN=555>Efficiency:<SP>Calling
  <SP>Sequences<COLUMN=951><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><COLUMN=1304><SP>343<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.14<COLUMN=555>Efficiency:<SP>Predicates
  <COLUMN=843><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>348<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.15<COLUMN=555>A<SP>Compiler<SP>for
  <SP><FONT=2>progs<FONT=0><COLUMN=843><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304>
  <SP>350<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.16<COLUMN=555>Further<SP>Optimizations
  <COLUMN=843><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>352<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.17<COLUMN=555>Functional<SP>Arguments
  <COLUMN=843><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>354<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.18<COLUMN=555>Macros<SP>and<SP>Special
  <SP>Forms<COLUMN=915><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><COLUMN=1304><SP>355<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.19<COLUMN=555>Compilation<SP>and
  <SP>Variables<COLUMN=915><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><COLUMN=1304><SP>356<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.20<COLUMN=555>Compiling<SP>and<SP>Interpreting
  <COLUMN=915><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><COLUMN=1304><SP>358<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.21<COLUMN=555>Interactive<SP>Programming
  <COLUMN=879><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>362<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.22<COLUMN=555>LISP<SP>Editors
  <COLUMN=735><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>365<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>6.23<COLUMN=555>Debugging<SP>in<SP>LISP
  <COLUMN=807><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>367
  <CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><COLUMN=387>7<COLUMN=435>STORAGE<SP>STRUCTURES
  <SP>AND<SP>EFFICIENCY<COLUMN=1314>370<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>7.1<COLUMN=555>Introduction
  <COLUMN=735><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>370<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>7.2<COLUMN=555>Vectors<SP>and<SP>Arrays
  <COLUMN=807><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>371
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>7.3<COLUMN=555>Strings<SP>and<SP>Linear
  <SP>LISP<COLUMN=879><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>374<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>7.4<COLUMN=555>A<SP>Compacting<SP>Collector
  <SP>for<SP>LISP<COLUMN=987><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>377<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>7.5<COLUMN=555>Bit-tables<COLUMN=699>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><COLUMN=1304><SP>380<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>7.6<COLUMN=555>Representations<SP>of
  <SP>Complex<SP>Data<SP>Structures<COLUMN=1071><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>381
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>7.7<COLUMN=555><FONT=2>rplaca<FONT=0>
  <SP>and<SP><FONT=2>rplacd<FONT=0><COLUMN=807><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><COLUMN=1304><SP>382<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>7.8<COLUMN=555>Applications<SP>of<SP>
  <FONT=2>rplaca<FONT=0><SP>and<SP><FONT=2>rplacd<FONT=0><COLUMN=987>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>385<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>7.9<COLUMN=555>Numbers<COLUMN=663>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><COLUMN=1304><SP>389<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>7.10<COLUMN=555>Stacks<SP>and<SP>Threading
  <COLUMN=843><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>392<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>450<SP><SP>CONTENTS<COLUMN=1359><FONT=0>
  <CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=483>7.11<COLUMN=555>A<SP>Non-recursive
  <SP><FONT=2>read<FONT=0><COLUMN=843><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304>
  <SP>394<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>7.12<COLUMN=555>More<SP>Applications
  <SP>of<SP>Threading<COLUMN=987><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><COLUMN=1304><SP>397<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>7.13<COLUMN=555>Storage<SP>Management
  <SP>and<SP>LISP<COLUMN=987><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>398<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>7.14<COLUMN=555>Hash<SP>Techniques
  <COLUMN=807><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>402
  <CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><COLUMN=387>8<COLUMN=435>IMPLICATIONS<SP>OF<SP>LISP
  <COLUMN=1314>404<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><COLUMN=387>9<COLUMN=435>PROJECTS<COLUMN=1314>412
  <CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>9.1<COLUMN=555>Extensions<SP>to<SP>
  <FONT=2>eval<FONT=0><COLUMN=807><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>412<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>9.2<COLUMN=555>Pretty-printing
  <COLUMN=735><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <COLUMN=1304><SP>414<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>9.3<COLUMN=555>Syntax-directed<SP>Processes
  <COLUMN=879><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>417<CR><LF>
<COLUMN=351><FONT=0><COLUMN=483>9.4<COLUMN=555>Syntax-directed<SP>I/O
  <COLUMN=807><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP>
  <SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.
  <SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><SP>.<SP><COLUMN=1304><SP>421
  <CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><FONT=1>BIBLIOGRAPHY<COLUMN=1314>426<FONT=0><CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=351><FONT=0><FONT=1>INDEX<COLUMN=1311>443<FONT=0><CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.<COLUMN=1041>Symbolic<SP>expressions
  <SP><SP><SP><SP><SP>1<FONT=0><CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=1186><FONT=1>CHAPTER<SP>1<FONT=0><CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><FONT=9>Symbolic<SP>Expressions<FONT=0><CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=744><FONT=1>1.1<SP><SP>Introduction
  <FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>This<COL INC 18>book<COL INC 17>is<COL INC 18>a
  <COL INC 18>study<COL INC 17>of<COL INC 18>data<COL INC 18>structures
  <COL INC 17>and<COL INC 18>programming<COL INC 18>languages;
  <COL INC 17>in<CR><LF>
<COLUMN=351><FONT=0>particular<COL INC 21>it<COL INC 20>is
  <COL INC 21>a<COL INC 21>study<COL INC 20>of<COL INC 21>data
  <COL INC 20>structures<COL INC 21>and<COL INC 21>programming
  <COL INC 20>languages<CR><LF>
<COLUMN=351><FONT=0>centered<COL INC 13>around<COL INC 13>the
  <COL INC 14>language<COL INC 13>LISP.<COL INC 13>However,<COL INC 13>this
  <COL INC 14>is<COL INC 13>not<COL INC 13>a<COL INC 13>manual
  <COL INC 14>to<COL INC 13>help<CR><LF>
<COLUMN=351><FONT=0>you<COL INC 11>become<COL INC 12>a<COL INC 11>proficient
  <COL INC 11>LISP<COL INC 12>coder.<COL INC 11><SP>We<COL INC 12>will
  <COL INC 11>study<COL INC 11>many<COL INC 12>of<COL INC 11>the
  <COL INC 12>formal<COL INC 11>and<CR><LF>
<COLUMN=351><FONT=0>theoretical<COL INC 12>aspects<COL INC 12>of
  <COL INC 11>languages<COL INC 12>and<COL INC 12>data<COL INC 12>structures
  <COL INC 11>as<COL INC 12>well<COL INC 12>as<COL INC 12>examining
  <COL INC 11>the<CR><LF>
<COLUMN=351><FONT=0>practical<COL INC 18>applications<COL INC 18>of
  <COL INC 18>data<COL INC 18>structures.<COL INC 19>We<COL INC 18>will
  <COL INC 18>show<COL INC 18>that<COL INC 18>this<COL INC 19>area
  <COL INC 18>of<CR><LF>
<COLUMN=351><FONT=0>computer<COL INC 12>science<COL INC 12>is
  <COL INC 12>a<COL INC 12>discipline<COL INC 12>of<COL INC 12>importance
  <COL INC 12>and<COL INC 12>beauty,<COL INC 12>worthy<COL INC 13>of
  <COL INC 12>careful<CR><LF>
<COLUMN=351><FONT=0>study.<COL INC 10><SP>How<COL INC 10>are
  <COL INC 10>we<COL INC 11>to<COL INC 10>proceed?<COL INC 10>How
  <COL INC 10>do<COL INC 10>we<COL INC 11>introduce<COL INC 10>rigor
  <COL INC 10>into<COL INC 10>a<COL INC 11>field<COL INC 10>whose<CR><LF>
<COLUMN=351><FONT=0>countenance<COL INC 10>is<COL INC 10>as
  <COL INC 11><FONT=2>ad<COL INC 10>hoc<FONT=0><COL INC 10>and
  <COL INC 11>diverse<COL INC 10>as<COL INC 10>that<COL INC 11>of
  <COL INC 10>programming?<COL INC 10><SP>We<COL INC 11>must
  <COL INC 10>bear<CR><LF>
<COLUMN=351><FONT=0>in<COL INC 10>mind<COL INC 11>that<COL INC 10>the
  <COL INC 11>results<COL INC 10>of<COL INC 11>our<COL INC 10>studies
  <COL INC 11>are<COL INC 10>to<COL INC 11>have<COL INC 10>practical
  <COL INC 11>applications.<COL INC 10><SP>We<CR><LF>
<COLUMN=351><FONT=0>must<COL INC 15>not<COL INC 14>pursue<COL INC 15>theory
  <COL INC 14>and<COL INC 15>rigor<COL INC 14>without<COL INC 15>proper
  <COL INC 14>regard<COL INC 15>for<COL INC 15>practice.<COL INC 14>Our
  <CR><LF>
<COLUMN=351><FONT=0>study<COL INC 14>is<COL INC 14>not<COL INC 13>that
  <COL INC 14>of<COL INC 14>pure<COL INC 13>mathematics;<COL INC 14>our
  <COL INC 14>results<COL INC 13>will<COL INC 14>have<COL INC 14>applications
  <COL INC 13>in<CR><LF>
<COLUMN=351><FONT=0>everyday<COL INC 25>programming<COL INC 26>practice.
  <COL INC 25><SP>However,<COL INC 25>for<COL INC 26>guidance
  <COL INC 25>let's<COL INC 26>look<COL INC 25>at<CR><LF>
<COLUMN=351><FONT=0>mathematics.<COL INC 13>Here<COL INC 12>is
  <COL INC 13>a<COL INC 13>well-established<COL INC 12>discipline
  <COL INC 13>rich<COL INC 13>in<COL INC 12>history<COL INC 13>and
  <COL INC 13>full<COL INC 12>of<CR><LF>
<COLUMN=351><FONT=0>results<SP>of<SP>both<SP>practical<SP>and<SP>theoretical
  <SP>importance.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>One<COL INC 13>of<COL INC 14>the
  <COL INC 13>more<COL INC 14>fertile,<COL INC 13>yet<COL INC 14>easily
  <COL INC 13>introduced<COL INC 14>areas<COL INC 13>of<COL INC 14>mathematics,
  <COL INC 13>is<CR><LF>
<COLUMN=351><FONT=0>that<COL INC 14>of<COL INC 14>elementary
  <COL INC 14>number<COL INC 14>theory.<COL INC 15>It<COL INC 14>is
  <COL INC 14>easy<COL INC 14>to<COL INC 14>introduce<COL INC 15>because
  <COL INC 14>everyone<CR><LF>
<COLUMN=351><FONT=0>knows<COL INC 24>something<COL INC 23>about
  <COL INC 24>the<COL INC 24>natural<COL INC 23>numbers.<COL INC 24>
  <SP>Number<COL INC 24>theory<COL INC 23>studies<CR><LF>
<COLUMN=351><FONT=0>properties<COL INC 20>of<COL INC 20>a<COL INC 20>certain
  <COL INC 20>class<COL INC 20>of<COL INC 20>operations<COL INC 20>definable
  <COL INC 20>over<COL INC 20>the<COL INC 20>set<COL INC 20><FONT=12>N
  <FONT=0><COL INC 19>of<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>2<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.1<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>non-negative<COL INC 30>integers<COL INC 29>also
  <COL INC 30>called<COL INC 29>natural<COL INC 30>numbers.<COL INC 29>
  <SP>A<COL INC 30>very<COL INC 29>formal<CR><LF>
<COLUMN=351><FONT=0>presentation<COL INC 19>might<COL INC 18>begin
  <COL INC 19>with<COL INC 19>a<COL INC 18>construction<COL INC 19>of
  <COL INC 18><FONT=12>N<FONT=0><COL INC 19>from<COL INC 19>more
  <COL INC 18>primitive<CR><LF>
<COLUMN=351><FONT=0>notions,<COL INC 20>but<COL INC 20>it<COL INC 20>is
  <COL INC 19>usually<COL INC 20>assumed<COL INC 20>that<COL INC 20>the
  <COL INC 19>reader<COL INC 20>is<COL INC 20>familiar<COL INC 20>with
  <COL INC 19>the<CR><LF>
<COLUMN=351><FONT=0>fundamental<COL INC 11>properties<COL INC 11>of
  <COL INC 11><FONT=12>N<FONT=0>.<COL INC 11><SP>In<COL INC 11>either
  <COL INC 11>case<COL INC 11>the<COL INC 11>next<COL INC 11>step
  <COL INC 11>would<COL INC 11>be<COL INC 11>to<COL INC 11>define<CR><LF>
<COLUMN=351><FONT=0>the<SP>class<SP>of<SP>operations<SP>which<SP>we
  <SP>would<SP>allow<SP>on<SP>our<SP>domain.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 22>shall<COL INC 22>begin
  <COL INC 22>our<COL INC 22>study<COL INC 22>of<COL INC 22>LISP
  <COL INC 22>in<COL INC 22>a<COL INC 22>similar<COL INC 22>manner,
  <COL INC 22>as<COL INC 22>an<CR><LF>
<COLUMN=351><FONT=0>investigation<COL INC 17>of<COL INC 17>a
  <COL INC 16>certain<COL INC 17>class<COL INC 17>of<COL INC 17>operations
  <COL INC 16>definable<COL INC 17>over<COL INC 17>a<COL INC 17>domain
  <COL INC 16>of<CR><LF>
<COLUMN=351><FONT=0>objects,<COL INC 14>called<COL INC 13>Symbolic
  <COL INC 14>Expressions.<COL INC 13><SP>Though<COL INC 14>most
  <COL INC 13>people<COL INC 14>know<COL INC 13>something<CR><LF>
<COLUMN=351><FONT=0>about<COL INC 11>the<COL INC 11>natural
  <COL INC 11>numbers,<COL INC 11>the<COL INC 11>term<COL INC 11>"symbolic
  <COL INC 11>expresssions"<COL INC 11>has<COL INC 11>no<COL INC 10>standard
  <CR><LF>
<COLUMN=351><FONT=0>interpretation.<COL INC 14><SP>We<COL INC 14>must
  <COL INC 14>define<COL INC 14>what<COL INC 14>we<COL INC 14>mean
  <COL INC 14>by<COL INC 14>"symbolic<COL INC 14>expression".
  <COL INC 13>If<CR><LF>
<COLUMN=351><FONT=0>we<COL INC 13>asked<COL INC 13>someone
  <COL INC 14>to<COL INC 13>define<COL INC 13>the<COL INC 13>domain
  <COL INC 14><FONT=12>N<FONT=0>,<COL INC 13>the<COL INC 13>definition
  <COL INC 13>we<COL INC 14>would<COL INC 13>receive<CR><LF>
<COLUMN=351><FONT=0>would<COL INC 11>depend<COL INC 11>on<COL INC 11>how
  <COL INC 11>familar<COL INC 11>that<COL INC 11>individual<COL INC 11>was
  <COL INC 11>with<COL INC 11>the<COL INC 11>properties<COL INC 11>of
  <COL INC 11>the<CR><LF>
<COLUMN=351><FONT=0>natural<SP>numbers.<FONT=7><SP>1<FONT=0><CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>For<COL INC 12>most<COL INC 12>people
  <COL INC 11>and<COL INC 12>most<COL INC 12>purposes,<COL INC 11>the
  <COL INC 12>following<COL INC 12>characterization<COL INC 12>of
  <COL INC 11>a<CR><LF>
<COLUMN=351><FONT=0>natural<SP>number<SP>is<SP>satisfactory:<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><FONT=1>I<FONT=0><COLUMN=399>A<SP>natural<SP>number
  <SP>is<SP>a<SP>sequence<SP>of<SP>decimal<SP>digits.<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>The<COL INC 13>definition<COL INC 13>assumes
  <COL INC 13>the<COL INC 13>terminology<COL INC 13>of<COL INC 13>"sequence",
  <COL INC 13>"decimal"<COL INC 14>and<COL INC 13>"digit"<CR><LF>
<COLUMN=351><FONT=0>are<COL INC 15>known.<COL INC 16>If<COL INC 15>any
  <COL INC 16>of<COL INC 15>these<COL INC 16>terms<COL INC 15>are
  <COL INC 16><FONT=5>not<FONT=0><COL INC 15>understood,<COL INC 16>they
  <COL INC 15>can<COL INC 16>be<COL INC 15>further<CR><LF>
<COLUMN=351><FONT=0>elaborated.<COL INC 22>However,<COL INC 23>this
  <COL INC 22>process<COL INC 22>of<COL INC 23>explanation<COL INC 22>and
  <COL INC 23>description<COL INC 22>must<CR><LF>
<COLUMN=351><FONT=0>terminate.<COL INC 28>We<COL INC 27>must
  <COL INC 28>assume<COL INC 27>that<COL INC 28>some<COL INC 27>concepts
  <COL INC 28>require<COL INC 28>no<COL INC 27>further<CR><LF>
<COLUMN=351><FONT=0>elaboration.<COL INC 25>The<COL INC 25>current
  <COL INC 25>definition<COL INC 25>suffers<COL INC 25>from<COL INC 25>a
  <COL INC 25>different<COL INC 25>kind<COL INC 25>of<CR><LF>
<COLUMN=351><FONT=0>inadequacy.<COL INC 12>It<COL INC 13>fails
  <COL INC 12>to<COL INC 13>illuminate<COL INC 12>the<COL INC 13>relationships
  <COL INC 12>between<COL INC 13>natural<COL INC 12>numbers.<CR><LF>
<COLUMN=351><FONT=0>The<COL INC 12>"meaning"<COL INC 13>of
  <COL INC 12>the<COL INC 13>natural<COL INC 12>numbers<COL INC 13>is
  <COL INC 12>missing.<COL INC 13>It<COL INC 12>is<COL INC 13>like
  <COL INC 12>giving<COL INC 13>a<COL INC 12>person<CR><LF>
<COLUMN=351><FONT=0>an<COL INC 22>alphabet<COL INC 21>and<COL INC 22>rules
  <COL INC 21>for<COL INC 22>forming<COL INC 21>syntactically
  <COL INC 22>correct<COL INC 21>words<COL INC 22>but<COL INC 21>not
  <CR><LF>
<COLUMN=351><FONT=0>supplying<SP>a<SP>dictionary<SP>which<SP>relates
  <SP>these<SP>words<SP>to<SP>the<SP>person's<SP>vocabulary.<CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>If<COL INC 33>pressed<COL INC 33>for
  <COL INC 33>details<COL INC 34>we<COL INC 33>might<COL INC 33>attempt
  <COL INC 33>a<COL INC 34>more<COL INC 33>elaborate<CR><LF>
<COLUMN=351><FONT=0>characterization<SP>like<SP>the<SP>following:<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=411><FONT=1>1.<FONT=0><SP><FONT=2>zero
  <FONT=0><SP>is<SP>an<SP>element<SP>of<SP><FONT=12>N<FONT=0>.<CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0><FONT=1>II<FONT=0><SP><SP><SP><FONT=1>2.<FONT=0>
  <SP>If<SP><FONT=2>n<FONT=0><SP>is<SP>in<SP><FONT=12>N<FONT=0><SP>then
  <SP>the<SP><FONT=2>successor<FONT=0><SP>of<SP><FONT=2>n<FONT=0><SP>is
  <SP>in<SP><FONT=12>N<FONT=0>.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=411><FONT=1>3.<FONT=0><COL INC 10>The
  <COL INC 10>only<COL INC 10>elements<COL INC 10>of<COL INC 11>
  <FONT=12>N<FONT=0><COL INC 10>are<COL INC 10>those<COL INC 10>created
  <COL INC 10>by<COL INC 10>finitely<COL INC 11>many<COL INC 10>applications
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=411>of<SP>rules<SP><FONT=1>1<FONT=0><SP>and
  <SP><FONT=1>2<FONT=0>.<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>Definition<COL INC 14><FONT=1>II<FONT=0>
  <COL INC 14>appears<COL INC 14>to<COL INC 14>be<COL INC 14>completely
  <COL INC 13>at<COL INC 14>the<COL INC 14>other<COL INC 14>end
  <COL INC 14>of<COL INC 14>the<COL INC 14>spectrum;<COL INC 13>it<CR><LF>
<COLUMN=351><FONT=0>tells<COL INC 12>us<COL INC 12>very<COL INC 12>little
  <COL INC 12>about<COL INC 12>the<COL INC 12>appearance<COL INC 12>of
  <COL INC 12>the<COL INC 12>integers.<COL INC 12>It<COL INC 12>gives
  <COL INC 12>us<COL INC 12>an<COL INC 12>initial<CR><LF>
<COLUMN=351><FONT=0>element<COL INC 16><FONT=2>zero<FONT=0>
  <COL INC 16>and<COL INC 16>an<COL INC 15>operation<COL INC 16>called
  <COL INC 16><FONT=2>successor<FONT=0>,<COL INC 16>which<COL INC 15>is
  <COL INC 16>to<COL INC 16>exhibit<COL INC 16>a<COL INC 15>new<CR><LF>
<COLUMN=351><FONT=0>element,<COL INC 17>given<COL INC 17>an
  <COL INC 17>old<COL INC 17>one.<COL INC 18><SP>Unless<COL INC 17>we
  <COL INC 17>are<COL INC 17>careful<COL INC 17>about<COL INC 17>the
  <COL INC 18>meaning<COL INC 17>of<CR><LF>
<COLUMN=351><FONT=0><FONT=2>successor<FONT=0>,<COL INC 17>definition
  <COL INC 17><FONT=1>II<FONT=0><COL INC 17>will<COL INC 17>be
  <COL INC 18>inadequate.<COL INC 17>For<COL INC 17>example<COL INC 17>if
  <COL INC 17>we<COL INC 18>define<COL INC 17>the<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>1<FONT=0>We<COL INC 11>will
  <COL INC 11>not<COL INC 11>attempt<COL INC 12>to<COL INC 11>arrive
  <COL INC 11>at<COL INC 11>a<COL INC 11>completely<COL INC 12>self-contained
  <COL INC 11>definition<CR><LF>
<COLUMN=351><FONT=0>of<COL INC 13>"natural<COL INC 13>number".
  <COL INC 13>That<COL INC 13>is<COL INC 13>a<COL INC 13>difficult
  <COL INC 13>undertaking.<COL INC 13>See<COL INC 13>[Goo<SP>57].
  <COL INC 13>We<COL INC 12>will<CR><LF>
<COLUMN=351><FONT=0>be<SP>satisfied<SP>with<SP>discussing<SP><FONT=5>some
  <FONT=0><SP>of<SP>their<SP>characteristics.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.1<COLUMN=1148>Introduction<SP><SP><SP>
  <SP><SP>3<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>successor<COL INC 10>of<COL INC 10>a<COL INC 10>natural
  <COL INC 10>number<COL INC 10>to<COL INC 10>be<COL INC 10>that
  <COL INC 10>same<COL INC 10>number<COL INC 10>then<COL INC 10>
  <FONT=1>II<FONT=0><COL INC 10>is<COL INC 11>satisfied<COL INC 10>but
  <CR><LF>
<COLUMN=351><FONT=0>unsatisfactory.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 15>can<COL INC 15>define
  <COL INC 15><FONT=2>successor<FONT=0><COL INC 15>as<COL INC 15>a
  <COL INC 15>specific<COL INC 15>mapping,<COL INC 15><FONT=1>S<FONT=0>,
  <COL INC 15>which<COL INC 15>creates<COL INC 15>new<CR><LF>
<COLUMN=351><FONT=0>elements<COL INC 12>subject<COL INC 11>to
  <COL INC 12>the<COL INC 12>rules<COL INC 11>that<COL INC 12>two
  <COL INC 11>elements,<COL INC 12><FONT=2>x<FONT=0><COL INC 12>and
  <COL INC 11><FONT=2>y<FONT=0><COL INC 12>are<COL INC 11>equal
  <COL INC 12>just<COL INC 12>in<COL INC 11>the<CR><LF>
<COLUMN=351><FONT=0>case<COL INC 14>that<COL INC 14><FONT=1>S<FONT=2>(x)
  <FONT=0><COL INC 14>equals<COL INC 13><FONT=1>S<FONT=2>(y)<FONT=0>;
  <COL INC 14>and<COL INC 14><FONT=1>S<FONT=2>(x)<FONT=0><COL INC 14>is
  <COL INC 14>different<COL INC 13>from<COL INC 14><FONT=2>x<FONT=0>,
  <COL INC 14>for<COL INC 14>any<COL INC 14>element<COL INC 13><FONT=2>x
  <FONT=0>.<CR><LF>
<COLUMN=351><FONT=0>We<COL INC 13>select<COL INC 13>a<COL INC 14>distinguished
  <COL INC 13>element,<COL INC 13><FONT=2>0<FONT=0>,<COL INC 13>as
  <COL INC 14>a<COL INC 13>notation<COL INC 13>for<COL INC 13><FONT=2>zero
  <FONT=0>;<COL INC 14>and<COL INC 13>abbreviate<CR><LF>
<COLUMN=351><FONT=0><FONT=1>S<FONT=2>(0)<FONT=0><SP>as<SP><FONT=2>1
  <FONT=0>,<SP>and<SP>abbreviate<SP><FONT=1>S<FONT=2>(<FONT=1>S<FONT=2>(0))
  <FONT=0><SP>as<SP><FONT=2>2<FONT=0><SP>etc.<SP>in<SP>the<SP>usual<SP>manner.
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>The<COL INC 18>characterization
  <COL INC 17>of<COL INC 18>decimal<COL INC 17>digits<COL INC 18>given
  <COL INC 17>in<COL INC 18><FONT=1>I<FONT=0><COL INC 17>is<COL INC 18>syntactic.
  <COL INC 17><SP>The<CR><LF>
<COLUMN=351><FONT=0>notation<COL INC 20>itself<COL INC 21>tells
  <COL INC 20>us<COL INC 21>nothing<COL INC 20>about<COL INC 21>the
  <COL INC 20>interrelationships<COL INC 21>between<COL INC 20>the<CR><LF>
<COLUMN=351><FONT=0>numbers,<COL INC 13>but<COL INC 13>it<COL INC 12>does
  <COL INC 13>give<COL INC 13>us<COL INC 12>a<COL INC 13>notation
  <COL INC 13>for<COL INC 12>representing<COL INC 13>them.<COL INC 13>
  <SP>Thus<COL INC 13><FONT=2>2<FONT=0><COL INC 12>can<CR><LF>
<COLUMN=351><FONT=0>be<COL INC 13>used<COL INC 13>to<COL INC 14>represent
  <COL INC 13><FONT=2>two<FONT=0>.<COL INC 13><SP>One<COL INC 14>benefit
  <COL INC 13>of<COL INC 13>the<COL INC 14><FONT=1>S<FONT=0>-notation
  <COL INC 13>is<COL INC 13>that<COL INC 14>it<COL INC 13>explicitly
  <CR><LF>
<COLUMN=351><FONT=0>shows<COL INC 12>the<COL INC 12>means<COL INC 12>of
  <COL INC 12>construction.<COL INC 12>That<COL INC 12>is,<COL INC 12>it
  <COL INC 12>shows<COL INC 12>more<COL INC 12>of<COL INC 12>the
  <COL INC 12>properties<COL INC 12>of<CR><LF>
<COLUMN=351><FONT=0>these<COL INC 20>numbers<COL INC 20>than
  <COL INC 20>just<COL INC 20>distinguishability.<COL INC 20><SP>We
  <COL INC 20>shall<COL INC 20>refer<COL INC 20>to<COL INC 20>the
  <COL INC 19>digit<CR><LF>
<COLUMN=351><FONT=0>representation<COL INC 15>as<COL INC 15><FONT=1>numerals
  <FONT=0><COL INC 15>and<COL INC 15>reserve<COL INC 14>the<COL INC 15>term,
  <COL INC 15><FONT=1>natural<COL INC 15>number<FONT=0>,<COL INC 15>for
  <COL INC 14>the<CR><LF>
<COLUMN=351><FONT=0>abstract<COL INC 14>object.<COL INC 14><SP>Thus
  <COL INC 14>numerals<COL INC 15>denote,<COL INC 14>stand<COL INC 14>for,
  <COL INC 14>or<COL INC 14>represent<COL INC 15>the<COL INC 14>abstract
  <CR><LF>
<COLUMN=351><FONT=0>objects<COL INC 11>called<COL INC 11>natural
  <COL INC 11>numbers;<COL INC 11>and<COL INC 11>definition<COL INC 11>
  <FONT=1>I<FONT=0><COL INC 11>is<COL INC 11>better<COL INC 11>stated
  <COL INC 11>as:<COL INC 11>"a<COL INC 10>natural<CR><LF>
<COLUMN=351><FONT=0>number<SP>can<SP>be<SP>represented<SP>as<SP>a<SP>finite
  <SP>sequence<SP>of<SP>digits".<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>But<COL INC 16>notation<COL INC 15>and
  <COL INC 16>syntax<COL INC 15>are<COL INC 16>necessary<COL INC 16>and
  <COL INC 15>we<COL INC 16>must<COL INC 15>be<COL INC 16>able
  <COL INC 16>to<COL INC 15>give<CR><LF>
<COLUMN=351><FONT=0>precise<COL INC 16>descriptions<COL INC 17>of
  <COL INC 16>syntactic<COL INC 17>notions.<COL INC 16><SP>Given
  <COL INC 16>a<COL INC 17>choice<COL INC 16>between<COL INC 17>the
  <COL INC 16>two<CR><LF>
<COLUMN=351><FONT=0>previous<COL INC 12>definitions,<COL INC 12>
  <FONT=1>I<FONT=0><COL INC 12>and<COL INC 13><FONT=1>II<FONT=0>,
  <COL INC 12>it<COL INC 12>appears<COL INC 12>that<COL INC 13><FONT=1>II
  <FONT=0><COL INC 12>is<COL INC 12>more<COL INC 12>precise.
  <COL INC 13><SP>Much<COL INC 12>less<CR><LF>
<COLUMN=351><FONT=0>is<COL INC 20>left<COL INC 20>to<COL INC 19>the
  <COL INC 20>imagination;<COL INC 20>given<COL INC 19><FONT=2>zero
  <FONT=0><COL INC 20>and<COL INC 20>a<COL INC 19>definition
  <COL INC 20>of<COL INC 20><FONT=2>successor<FONT=0><COL INC 19>the
  <CR><LF>
<COLUMN=351><FONT=0>definition<COL INC 16>will<COL INC 16>act
  <COL INC 16>as<COL INC 17>a<COL INC 16>recipe<COL INC 16>for
  <COL INC 16>producing<COL INC 17>elements<COL INC 16>of<COL INC 16>
  <FONT=12>N<FONT=0>.<COL INC 16>This<COL INC 17>style<COL INC 16>of
  <CR><LF>
<COLUMN=351><FONT=0>definition<SP>is<SP>called<SP>an<SP>inductive<SP>definition
  <SP>or<SP>generative<SP>definition.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>The<COL INC 12>basic<COL INC 11>content
  <COL INC 12>of<COL INC 11>an<COL INC 12>inductive<COL INC 12>definition
  <COL INC 11>of<COL INC 12>a<COL INC 11>set<COL INC 12>of<COL INC 12>objects
  <COL INC 11>consists<CR><LF>
<COLUMN=351><FONT=0>of<SP>three<SP>parts:<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=471>(1)<COL INC 11>A<COL INC 12>description
  <COL INC 11>of<COL INC 12>an<COL INC 11>initial<COL INC 12>set
  <COL INC 11>of<COL INC 12>objects;<COL INC 11>the<COL INC 12>elements
  <COL INC 11>of<COL INC 12>this<COL INC 11>set<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>are<COL INC 11>the<COL INC 11>initial
  <COL INC 11>elements<COL INC 11>of<COL INC 11>the<COL INC 11>set
  <COL INC 11>we<COL INC 11>are<COL INC 11>describing<COL INC 11>in
  <COL INC 12>the<COL INC 11>inductive<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>definition.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><FONT=1>IND<FONT=0><CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=471>(2)<COL INC 14>Given<COL INC 15>the
  <COL INC 14>description<COL INC 14>of<COL INC 15>some<COL INC 14>existing
  <COL INC 14>elements<COL INC 15>in<COL INC 14>the<COL INC 15>set,
  <COL INC 14>we<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>are<SP>given<SP>a<SP>means<SP>of<SP>constructing
  <SP>more<SP>elements.<CR><LINESPACE 9>
<COLUMN=351><FONT=0><COLUMN=471>(3)<COL INC 11>A<COL INC 10>termination
  <COL INC 11>clause,<COL INC 10>saying<COL INC 11>that<COL INC 11>the
  <COL INC 10>only<COL INC 11>elements<COL INC 10>in<COL INC 11>the
  <COL INC 11>set<COL INC 10>are<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>those<SP>which<SP>gained<SP>admittance
  <SP>by<SP>either<SP>(1)<SP>or<SP>(2).<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>Notice<COL INC 12>that<COL INC 11>our<COL INC 12>definition
  <COL INC 11>of<COL INC 12><FONT=12>N<FONT=0>,<COL INC 11>in
  <COL INC 12>terms<COL INC 11>of<COL INC 12><FONT=2>zero<FONT=0>
  <COL INC 11>and<COL INC 12><FONT=2>successor<FONT=0>,<COL INC 11>is
  <COL INC 12>an<COL INC 11>instance<CR><LF>
<COLUMN=351><FONT=0>of<COL INC 11><FONT=1>IND<FONT=0>:<COL INC 12>we
  <COL INC 11>are<COL INC 12>defining<COL INC 11>the<COL INC 12>set
  <COL INC 11>of<COL INC 12>natural<COL INC 11>numbers:<COL INC 12>
  <FONT=2>zero<FONT=0><COL INC 11>is<COL INC 12>initially<COL INC 11>included
  <CR><LF>
<COLUMN=351><FONT=0>in<COL INC 12>the<COL INC 11>set;<COL INC 12>then
  <COL INC 11>applying<COL INC 12>the<COL INC 12>second<COL INC 11>phrase
  <COL INC 12>of<COL INC 11>the<COL INC 12>definition<COL INC 11>we
  <COL INC 12>can<COL INC 12>say<COL INC 11>that<CR><LF>
<COLUMN=351><FONT=0><FONT=2>one<FONT=0><SP>is<SP>in<SP>the<SP>set<SP>since
  <SP><FONT=2>one<FONT=0><SP>is<SP>the<SP>successor<SP>of<SP><FONT=2>zero
  <FONT=0>.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 21>can<COL INC 21>recast
  <COL INC 20>the<COL INC 21>positional<COL INC 21>notation<COL INC 20>description
  <COL INC 21>as<COL INC 21>an<COL INC 20>inductive<CR><LF>
<COLUMN=351><FONT=0>definition.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>4<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.1<FONT=0><CR><LF>
<CR><LF>
<CR><LINESPACE 8>
<COLUMN=351><FONT=0><FONT=1>1.<FONT=0><SP><SP>A<SP>digit<SP>is<SP>a
  <SP>numeral.<CR><LINESPACE 9>
<COLUMN=351><FONT=0><FONT=1>2.<FONT=0><SP><SP>If<SP><FONT=2>n<FONT=0>
  <SP>is<SP>a<SP>numeral<SP>then<SP><FONT=2>n<FONT=0><SP>followed<SP>by
  <SP>a<SP>digit<SP>is<SP>a<SP>numeral.<CR><LINESPACE 9>
<COLUMN=351><FONT=0><FONT=1>3.<FONT=0><SP><SP>The<COL INC 15>only
  <COL INC 15>numerals<COL INC 14>are<COL INC 15>those<COL INC 15>created
  <COL INC 15>by<COL INC 14>finitely<COL INC 15>many<COL INC 15>applications
  <COL INC 15>of<COL INC 14><FONT=1>1<FONT=0><CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>and<SP><FONT=1>2<FONT=0>.<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>In<SP>words,<SP>"a<SP>numeral<SP>is<SP>a<SP>digit,
  <SP>or<SP>a<SP>numeral<SP>followed<SP>by<SP>a<SP>digit".<CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>In<COL INC 14>this<COL INC 13>application
  <COL INC 14>of<COL INC 13><FONT=1>IND<FONT=0>,<COL INC 14>the
  <COL INC 14>initial<COL INC 13>set<COL INC 14>has<COL INC 13>more
  <COL INC 14>than<COL INC 14>one<COL INC 13>element;<CR><LF>
<COLUMN=351><FONT=0>namely<COL INC 13>the<COL INC 12>ten<COL INC 13>decimal
  <COL INC 13>digits.<COL INC 12><SP>Again,<COL INC 13>we<COL INC 13>assume
  <COL INC 12>that<COL INC 13>the<COL INC 13>questioner<COL INC 12>knows
  <CR><LF>
<COLUMN=351><FONT=0>what<COL INC 13>"digit"<COL INC 13>means.
  <COL INC 13><SP>This<COL INC 13>is<COL INC 13>a<COL INC 13>characteristic
  <COL INC 13>of<COL INC 13>all<COL INC 13>definitions:<COL INC 13>we
  <COL INC 14>must<COL INC 13>stop<CR><LF>
<COLUMN=351><FONT=0><FONT=5>somewhere<FONT=0><COL INC 14>in
  <COL INC 14>our<COL INC 14>explication.<COL INC 14>Notice<COL INC 14>too
  <COL INC 14>that<COL INC 14>we<COL INC 14>assume<COL INC 14>that
  <COL INC 14>"followed<COL INC 13>by"<CR><LF>
<COLUMN=351><FONT=0>means<SP>juxtaposition.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Inductive<COL INC 12>definitions
  <COL INC 12>have<COL INC 12>been<COL INC 12>the<COL INC 12>province
  <COL INC 12>of<COL INC 12>mathematics<COL INC 13>for<COL INC 12>many
  <CR><LF>
<COLUMN=351><FONT=0>years;<COL INC 10>however,<COL INC 11>computer
  <COL INC 10>science<COL INC 11>has<COL INC 10>developed<COL INC 10>a
  <COL INC 11>style<COL INC 10>of<COL INC 11>syntax<COL INC 10>specification
  <CR><LF>
<COLUMN=351><FONT=0>called<COL INC 10>BNF<COL INC 11>(Backus-Naur
  <COL INC 10>Form)<COL INC 11>equations<COL INC 10>which<COL INC 11>has
  <COL INC 10>the<COL INC 11>same<COL INC 10>intent<COL INC 11>as
  <COL INC 10>that<CR><LF>
<COLUMN=351><FONT=0>of<COL INC 23>inductive<COL INC 22>definitions.
  <COL INC 23><SP>Here<COL INC 22>is<COL INC 23>the<COL INC 22>previous
  <COL INC 23>inductive<COL INC 23>definition<COL INC 22>of<CR><LF>
<COLUMN=351><FONT=0>"numeral"<SP>as<SP>a<SP>set<SP>of<SP>BNF<SP>equations:
  <CR><LINESPACE 20>
<COLUMN=351><FONT=0><LB>numeral<RB><COLUMN=519>::=<SP><LB>digit<RB><CR>
  <LINESPACE 9>
<COLUMN=351><FONT=0><LB>numeral<RB><COLUMN=519>::=<SP><LB>numeral<RB><LB>digit<RB><CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0>As<SP>an<SP>abbreviation,<SP>the<SP><SP>two<SP>BNF
  <SP>equations<SP>may<SP>also<SP>be<SP>written:<CR><LINESPACE 3>
<COLUMN=351><FONT=0><LB>numeral<RB><COLUMN=519>::=<SP><LB>digit<RB><SP>|<SP><LB>numeral<RB><LB>digit<RB>.
  <CR><LINESPACE 20>
<COLUMN=351><FONT=0>A<COL INC 12>comparison<COL INC 11>between
  <COL INC 12>the<COL INC 11>BNF<COL INC 12>and<COL INC 11>the
  <COL INC 12>inductive<COL INC 11>descriptions<COL INC 12>of
  <COL INC 11>"numeral"<CR><LF>
<COLUMN=351><FONT=0>should<COL INC 20>clarify<COL INC 19>much
  <COL INC 20>of<COL INC 19>the<COL INC 20>notation,<COL INC 20>but
  <COL INC 19>we<COL INC 20>will<COL INC 19>give<COL INC 20>a
  <COL INC 20>more<COL INC 19>detailed<CR><LF>
<COLUMN=351><FONT=0>analysis.<COL INC 14><SP>The<COL INC 14>symbol
  <COL INC 14>"::="<COL INC 15>may<COL INC 14>be<COL INC 14>read
  <COL INC 14>"is<COL INC 14>a",<COL INC 15>the<COL INC 14>symbol
  <COL INC 14>"|"<COL INC 14>may<COL INC 15>be<COL INC 14>read<CR><LF>
<COLUMN=351><FONT=0>"or".<COL INC 23><SP>The<COL INC 23>character
  <COL INC 23>strings<COL INC 23>beginning<COL INC 23>with<COL INC 23>"<LB>"
  <COL INC 23>and<COL INC 23>ending<COL INC 24>with<COL INC 23>"<RB>"<CR><LF>
<COLUMN=351><FONT=0>correspond<COL INC 10>to<COL INC 11>"numeral"
  <COL INC 10>and<COL INC 10>"digit"<COL INC 11>in<COL INC 10><FONT=1>1
  <FONT=0><COL INC 10>and<COL INC 11><FONT=1>2<FONT=0>;<COL INC 10>by
  <COL INC 10>convention,<COL INC 11>components<COL INC 10>of<CR><LF>
<COLUMN=351><FONT=0>BNF<COL INC 17>equations<COL INC 17>which
  <COL INC 17><FONT=5>describe<FONT=0><COL INC 17>elements<COL INC 17>are
  <COL INC 17>enclosed<COL INC 17>in<COL INC 17>"<LB>"<COL INC 17>and
  <COL INC 17>"<RB>";<COL INC 17>and<CR><LF>
<COLUMN=351><FONT=0>elements<COL INC 10>which<COL INC 10>are
  <COL INC 11>given<COL INC 10><FONT=5>explicitly<FONT=0><COL INC 10>are
  <COL INC 10>written<COL INC 11>without<COL INC 10>the<COL INC 10>"<LB>
  <COL INC 10><RB>"<COL INC 11>fence.<COL INC 10><SP>Thus<CR><LF>
<COLUMN=351><FONT=0>"<LB>digit<RB>"<COL INC 16>is<COL INC 16>not
  <COL INC 15>a<COL INC 16>numeral<COL INC 16>but<COL INC 15>is
  <COL INC 16>a<COL INC 16>description;<COL INC 15>to<COL INC 16>make
  <COL INC 16>the<COL INC 16>definition<COL INC 15>of<CR><LF>
<COLUMN=351><FONT=0><LB>numeral<RB><SP>complete<SP>we<SP>should<SP>include
  <SP>an<SP>equation<SP>like:<CR><LINESPACE 20>
<COLUMN=351><FONT=0><LB>digit<RB><COLUMN=519>::<SP>=<SP><FONT=2>0<SP>|<SP>1
  <SP>|<SP>2<SP>|<SP>3<SP>|<SP>4<SP>|<SP>5<SP>|<SP>6<SP>|<SP>7<SP>|<SP>8
  <SP>|<SP>9<FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0>Juxtaposition<COL INC 13>of<COL INC 13>objects
  <COL INC 13>implies<COL INC 13>concatenation<COL INC 13>of
  <COL INC 13>the<COL INC 13>syntactic<COL INC 13>objects.<COL INC 12>Thus
  <CR><LF>
<COLUMN=351><FONT=0>"89"<SP>is<SP>an<SP>instance<SP>of<SP>"<LB>numeral<RB><LB>digit<RB>".
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>It<COL INC 13>will<COL INC 13>be
  <COL INC 13>convenient<COL INC 13>to<COL INC 13>have<COL INC 13>notations
  <COL INC 13>for<COL INC 13>the<COL INC 13>abstract<COL INC 13>objects
  <COL INC 13>as<COL INC 12>well<CR><LF>
<COLUMN=351><FONT=0>as<COL INC 15>notations<COL INC 15>for
  <COL INC 15>the<COL INC 15>syntactic<COL INC 15>representations.
  <COL INC 15>The<COL INC 15>BNF<COL INC 15>equations<COL INC 15>describe
  <CR><LF>
<COLUMN=351><FONT=0>syntactic<COL INC 12>classes;<COL INC 12>for
  <COL INC 12>example,<COL INC 12>the<COL INC 12>set<COL INC 12>described
  <COL INC 12>by<COL INC 12><LB>numeral<RB><COL INC 12>is<COL INC 12>the
  <COL INC 11>syntactic<CR><LF>
<COLUMN=351><FONT=0>class<COL INC 11>of<COL INC 10>numerals.<FONT=7>
  <SP>2<FONT=0><COL INC 11>When<COL INC 11>we<COL INC 10>are
  <COL INC 11>talking<COL INC 10>about<COL INC 11>a<COL INC 11>syntactic
  <COL INC 10>class<COL INC 11>of<COL INC 11>objects<COL INC 10>we<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>2<FONT=0>Note<COL INC 45>we
  <COL INC 46>could<COL INC 45>have<COL INC 45>written<COL INC 46><LB>numeral<RB>
  <SP>::=<SP><LB>digit<RB><COL INC 45>and<CR><LF>
<COLUMN=351><FONT=0><LB>numeral<RB><SP>::=<SP><LB>digit<RB><LB>numeral<RB>,<COL INC 11>generating
  <COL INC 11>the<COL INC 12>same<COL INC 11>class,<COL INC 11>but
  <COL INC 11>in<COL INC 12>a<COL INC 11>different<CR><LF>
<COLUMN=351><FONT=0>order.<COL INC 14>Questions<COL INC 14>of
  <COL INC 13>syntax<COL INC 14>and<COL INC 14>grammars<COL INC 13>will
  <COL INC 14>not<COL INC 14>be<COL INC 13>stressed<COL INC 14>in
  <COL INC 14>this<COL INC 13>book.<CR><LF>
<COLUMN=351><FONT=0>See<SP>[Aho<SP>72].<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.1<COLUMN=1148>Introduction<SP><SP><SP>
  <SP><SP>5<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>will<COL INC 15>write<COL INC 15><LB>object<RB>;
  <COL INC 15>when<COL INC 15>we<COL INC 15>are<COL INC 15>talking
  <COL INC 15>about<COL INC 15>the<COL INC 15>abstract<COL INC 15>object
  <COL INC 16>we<COL INC 15>will<CR><LF>
<COLUMN=351><FONT=0>write<SP><FONT=12><LB>object<RB><FONT=0>.<SP>For<SP>example
  <SP><FONT=12><LB>numeral<RB><FONT=0><SP>is<SP>the<SP>class<SP>of<SP>natural
  <SP>numbers.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>What<COL INC 13>should<COL INC 14>be
  <COL INC 13>remembered<COL INC 14>from<COL INC 13>the<COL INC 13>discussion
  <COL INC 14>in<COL INC 13>this<COL INC 14>section?<COL INC 13><SP>We
  <CR><LF>
<COLUMN=351><FONT=0>need<COL INC 12>precise<COL INC 11>ways
  <COL INC 12>of<COL INC 11>describing<COL INC 12>the<COL INC 12>elements
  <COL INC 11>of<COL INC 12>our<COL INC 11>study<COL INC 12>on
  <COL INC 12>data<COL INC 11>structures.<CR><LF>
<COLUMN=351><FONT=0>We<COL INC 15>have<COL INC 15>seen<COL INC 14>that
  <COL INC 15>inductive<COL INC 15>definitions<COL INC 15>are
  <COL INC 14>a<COL INC 15>powerful<COL INC 15>way<COL INC 15>of
  <COL INC 14>describing<CR><LF>
<COLUMN=351><FONT=0>sets<COL INC 20>of<COL INC 20>objects.
  <COL INC 20>We<COL INC 20>have<COL INC 19>seen<COL INC 20>a
  <COL INC 20>variant<COL INC 20>of<COL INC 20>inductive<COL INC 20>definitions
  <COL INC 19>called<CR><LF>
<COLUMN=351><FONT=0>Backus-Naur<COL INC 15>Form<COL INC 16>equations.
  <COL INC 15>We<COL INC 16>will<COL INC 15>use<COL INC 15>BNF
  <COL INC 16>equations<COL INC 15>to<COL INC 16>describe<COL INC 15>the
  <CR><LF>
<COLUMN=351><FONT=0>syntax<SP>of<SP>our<SP>data<SP>structures<SP>and
  <SP>our<SP>language.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 11>have<COL INC 11>also
  <COL INC 12>introduced<COL INC 11>the<COL INC 11>difference
  <COL INC 12>between<COL INC 11>an<COL INC 11>abstract<COL INC 12>object
  <COL INC 11>and<CR><LF>
<COLUMN=351><FONT=0>a<COL INC 15>representation<COL INC 14>for
  <COL INC 15>that<COL INC 15>object.<COL INC 14><SP>This<COL INC 15>distinction
  <COL INC 15>has<COL INC 14>been<COL INC 15>well<COL INC 15>studied
  <COL INC 14>in<CR><LF>
<COLUMN=351><FONT=0>philosophy<COL INC 19>and<COL INC 19>mathematics,
  <COL INC 19>and<COL INC 19>we<COL INC 20>will<COL INC 19>see
  <COL INC 19>that<COL INC 19>this<COL INC 19>idea<COL INC 20>has
  <COL INC 19>strong<CR><LF>
<COLUMN=351><FONT=0>consequences<COL INC 14>for<COL INC 14>the
  <COL INC 13>field<COL INC 14>of<COL INC 14>programming<COL INC 13>and
  <COL INC 14>computer<COL INC 14>science.<COL INC 13><SP>Abstract<CR><LF>
<COLUMN=351><FONT=0>objects<SP>and<SP>their<SP>representations<SP>will
  <SP>play<SP>crucial<SP>roles<SP>in<SP>this<SP>text.<CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=505><FONT=1>1.2<SP><SP>Symbolic<SP>Expressions:
  <SP>Abstract<SP>Data<SP>Structures<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>We<COL INC 14>wish<COL INC 14>to<COL INC 13>show
  <COL INC 14>that<COL INC 14>the<COL INC 14>use<COL INC 13>of
  <COL INC 14>abstraction<COL INC 14>will<COL INC 13>benefit
  <COL INC 14>the<COL INC 14>study<COL INC 14>of<COL INC 13>data<CR><LF>
<COLUMN=351><FONT=0>structures<COL INC 14>and<COL INC 14>LISP.
  <COL INC 14><SP>To<COL INC 15>begin<COL INC 14>our<COL INC 14>study
  <COL INC 14>we<COL INC 14>should<COL INC 15>therefore<COL INC 14>characterize
  <CR><LF>
<COLUMN=351><FONT=0>the<COL INC 12>domain<COL INC 12>of<COL INC 12>LISP
  <COL INC 12>data<COL INC 12>structures<COL INC 12>in<COL INC 12>a
  <COL INC 12>manner<COL INC 12>similar<COL INC 12>to<COL INC 12>what
  <COL INC 12>we<COL INC 13>did<COL INC 12>for<CR><LF>
<COLUMN=351><FONT=0>numbers.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Our<COL INC 25>objects<COL INC 25>are
  <COL INC 25>called<COL INC 25><FONT=1>Symbolic<COL INC 25>Expressions
  <FONT=0>.<COL INC 25><SP>Our<COL INC 25>domain<COL INC 25>of<CR><LF>
<COLUMN=351><FONT=0>Symbolic<COL INC 18>Expressions<COL INC 18>is
  <COL INC 18>named<COL INC 18><FONT=12><LB>sexpr<RB><FONT=0>.<COL INC 18>
  <SP>Symbolic<COL INC 18>expressions<COL INC 18>are<COL INC 17>also
  <CR><LF>
<COLUMN=351><FONT=0>known<SP>as<SP><FONT=1>S-expressions<FONT=0><SP>or
  <SP><FONT=1>S-exprs<FONT=0>.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>The<COL INC 13>set<COL INC 14>of
  <COL INC 13>symbolic<COL INC 13>expressions<COL INC 14>is<COL INC 13>defined
  <COL INC 13>inductively<COL INC 14>over<COL INC 13>a<COL INC 14>base
  <COL INC 13>set<CR><LF>
<COLUMN=351><FONT=0>named<COL INC 10><FONT=12><LB>atom<RB><FONT=0>.
  <COL INC 10>The<COL INC 10>set<COL INC 10><FONT=12><LB>atom<RB><FONT=0>
  <COL INC 10>can<COL INC 10>itself<COL INC 10>be<COL INC 10>defined
  <COL INC 10>inductively.<COL INC 10>We<COL INC 10>give<COL INC 10>a
  <CR><LF>
<COLUMN=351><FONT=0>set<COL INC 21>of<COL INC 20>BNF<COL INC 21>equations
  <COL INC 20>for<COL INC 21>elements<COL INC 20>of<COL INC 21><LB>atom<RB>
  <COL INC 20>below,<COL INC 21>but<COL INC 21>the<COL INC 20>essential
  <CR><LF>
<COLUMN=351><FONT=0>character<COL INC 12>of<COL INC 12>the
  <COL INC 12>domain<COL INC 12>is<COL INC 12>that<COL INC 12>it
  <COL INC 12>represents<COL INC 12>two<COL INC 12>kinds<COL INC 12>of
  <COL INC 12>objects:<COL INC 12>the<COL INC 12><FONT=1>literal<CR><LF>
<COLUMN=351><FONT=1>atoms<FONT=0><SP>and<SP>the<SP>integers.<SP><SP>The
  <SP>elements<SP>of<SP><FONT=12><LB>atom<RB><FONT=0><SP>are<SP>called<SP>
  <FONT=1>atoms<FONT=0>.<CR><LINESPACE 20>
<COLUMN=351><FONT=0><LB>atom<RB><COLUMN=567>::<SP>=<SP><LB>literal<SP>atom<RB>
  <SP>|<SP><LB>numeral<RB><SP>|<SP>-<LB>numeral<RB><CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>literal<SP>atom<RB><COLUMN=567>::<SP>=<SP><LB>atom<SP>letter<RB>
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=567>::<SP>=<SP><LB>literal<SP>atom<RB><LB>atom<SP>letter<RB>
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=567>::<SP>=<SP><LB>literal<SP>atom<RB><LB>digit<RB>
  <CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>numeral<RB><COLUMN=567>::<SP>=<SP><LB>digit<RB><SP>|<SP><LB>numeral<RB><LB>digit<RB>
  <CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>atom<SP>letter<RB><COLUMN=567>::<SP>=<FONT=2><SP>A
  <SP>|<SP>B<SP>|<SP>C<SP>...<SP>|<SP>Z<FONT=0><SP><FONT=7><SP>3
  <FONT=0><CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>digit<RB><COLUMN=567>::<SP>=<SP><FONT=2>0<SP>|<SP>1
  <SP>|<SP>2<SP>...<SP>|<SP>9<FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0>A<COL INC 12><LB>literal<COL INC 13>atom<RB>
  <COL INC 12>is<COL INC 12>therefore<COL INC 13>a<COL INC 12>string
  <COL INC 12>of<COL INC 13>uppercase<COL INC 12>letters<COL INC 12>and
  <COL INC 13>digits,<COL INC 12>subject<CR><LF>
<COLUMN=351><FONT=0>to<SP>the<SP>provision<SP>that<SP>the<SP><FONT=5>first
  <FONT=0><SP>character<SP>in<SP>the<SP>atom<SP>be<SP>a<SP>letter.<CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>3<FONT=0>We<SP>use<SP>ellipses
  <SP>here<SP>as<SP>a<SP>convienient<SP>abbreviation.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>6<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.2<FONT=0><CR><LF>
<CR><LINESPACE 20>
<COLUMN=351><FONT=0>For<SP>example:<COLUMN=579>atoms<COLUMN=759>non
  <SP>atoms<CR><LINESPACE 20>
<COLUMN=351><FONT=0><FONT=2><COLUMN=579>ABC123<COLUMN=759>2A<CR>
  <LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=579>12<COLUMN=759>a<CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=579>A4D6<COLUMN=759>$$g<CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=579>NIL<COLUMN=759>ABD.<CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=579>T<COLUMN=759>(A<SP>.<SP>B)<CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>The<COL INC 27>characteristics
  <COL INC 27>of<COL INC 27>atoms<COL INC 27>which<COL INC 27>most
  <COL INC 27>interest<COL INC 27>us<COL INC 28>are<COL INC 27>their
  <CR><LF>
<COLUMN=351><FONT=0>distinguishability:<COL INC 13>the<COL INC 12>atom
  <COL INC 13><FONT=2>ABC<FONT=0><COL INC 13>is<COL INC 12>distinguishable
  <COL INC 13>from<COL INC 12>the<COL INC 13>atom<COL INC 13><FONT=2>AB
  <FONT=0>.<COL INC 12>That<CR><LF>
<COLUMN=351><FONT=0><FONT=2>"AB"<FONT=0><COL INC 11>is<COL INC 11>a
  <COL INC 10>part<COL INC 11>of<COL INC 11><FONT=2>"ABC"<FONT=0>
  <COL INC 10>is<COL INC 11>not<COL INC 11>germane<COL INC 10>to
  <COL INC 11>our<COL INC 11>current<COL INC 11>discussion.<FONT=7><SP>4
  <FONT=0><COL INC 10>Similarly,<CR><LF>
<COLUMN=351><FONT=0>we<COL INC 22>will<COL INC 22>seldom<COL INC 22>need
  <COL INC 22>to<COL INC 22>exploit<COL INC 22>numerical<COL INC 22>relationships
  <COL INC 22>underlying<COL INC 22>the<CR><LF>
<COLUMN=351><FONT=0>numerals;<COL INC 12>at<COL INC 12>most
  <COL INC 11>we<COL INC 12>will<COL INC 12>use<COL INC 12>simple
  <COL INC 11>counting<COL INC 12>properties.<COL INC 12><SP>Therefore
  <COL INC 12>most<COL INC 11>of<CR><LF>
<COLUMN=351><FONT=0>our<COL INC 13>discussions<COL INC 13>will
  <COL INC 13>deal<COL INC 13>with<COL INC 13>non-numeric<COL INC 13>atoms.
  <COL INC 13><SP>Most<COL INC 13>implementations<COL INC 12>of<CR><LF>
<COLUMN=351><FONT=0>LISP<COL INC 35>do<COL INC 35>however<COL INC 35>contain
  <COL INC 35>a<COL INC 35>large<COL INC 35>arithmetic<COL INC 35>entourage.
  <COL INC 35><SP>Many<CR><LF>
<COLUMN=351><FONT=0>implementations<COL INC 10>also<COL INC 11>give
  <COL INC 10>a<COL INC 11>wider<COL INC 10>class<COL INC 11>of
  <COL INC 10>literal<COL INC 11>atoms,<COL INC 10>allowing<COL INC 11>some
  <COL INC 10>special<CR><LF>
<COLUMN=351><FONT=0>characters<COL INC 17>to<COL INC 17>appear;
  <COL INC 17>for<COL INC 17>most<COL INC 17>of<COL INC 17>our
  <COL INC 17>discussion<COL INC 17>the<COL INC 17>above<COL INC 17>class
  <COL INC 18>is<COL INC 17>quite<CR><LF>
<COLUMN=351><FONT=0>sufficient.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>The<COL INC 22>domain<COL INC 22>of
  <COL INC 23>Symbolic<COL INC 22>expressions,<COL INC 22>called
  <COL INC 22><FONT=12><LB>sexpr<RB><FONT=0><COL INC 23>is<COL INC 22>defined
  <CR><LF>
<COLUMN=351><FONT=0>inductively<SP>over<SP>the<SP>domain<SP><FONT=12><LB>atom<RB>
  <FONT=0>.<FONT=7><SP>5<FONT=0><CR><LF>
<CR><LINESPACE 8>
<COLUMN=351><FONT=0><FONT=1>1.<FONT=0><SP><SP>Any<SP>element<SP>of
  <SP><FONT=12><LB>atom<RB><FONT=0><SP>is<SP>an<SP>element<SP>of<SP><FONT=12><LB>sexpr<RB>
  <FONT=0>.<CR><LINESPACE 9>
<COLUMN=351><FONT=0><FONT=1>2.<FONT=0><SP><SP>If<COL INC 12><FONT=8>α
  <FONT=3>1<FONT=0><COL INC 12>and<COL INC 12><FONT=8>α<FONT=3>2
  <FONT=0><COL INC 12>are<COL INC 12>elements<COL INC 12>of<COL INC 13>
  <FONT=12><LB>sexpr<RB><FONT=0>,<COL INC 12>then<COL INC 12>the<COL INC 12>pair
  <COL INC 12>of<COL INC 12><FONT=8>α<FONT=3>1<FONT=0><COL INC 12>and
  <COL INC 12><FONT=8>α<FONT=3>2<FONT=0><COL INC 13>is<COL INC 12>in
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=399><FONT=12><LB>sexpr<RB><FONT=0>.<COL INC 26>Pairs
  <COL INC 26>are<COL INC 26>also<COL INC 26>called<COL INC 26><FONT=1>dotted-pairs
  <FONT=0><COL INC 26>since<COL INC 26>their<COL INC 26>standard<CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>representation<SP>in<SP>LISP<SP>is
  <SP><FONT=2>(<FONT=8>α<FONT=3>1<FONT=2>.<FONT=8>α<FONT=3>2<FONT=2>)
  <FONT=0>.<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>Thus<COL INC 12><FONT=12><LB>sexpr<RB><FONT=0>
  <COL INC 12>includes<COL INC 12><FONT=12><LB>atom<RB><FONT=0><COL INC 12>as
  <COL INC 11>a<COL INC 12>proper<COL INC 12>subset.<COL INC 12>The
  <COL INC 12>notation<COL INC 12>we<COL INC 11>chose<CR><LF>
<COLUMN=351><FONT=0>for<SP>the<SP>dotted-pairs<SP>is<SP>the<SP>following:
  <CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=471>A<COL INC 13>dotted-pair<COL INC 12>consists
  <COL INC 13>of<COL INC 12>a<COL INC 13>left-parenthesis<COL INC 12>followed
  <COL INC 13>by<COL INC 12>an<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>S-expr,<COL INC 22>followed
  <COL INC 21>by<COL INC 22>a<COL INC 21>period,<COL INC 22>followed
  <COL INC 21>by<COL INC 22>an<COL INC 21>S-expr,<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>followed<SP>by<SP>a<SP>right-parenthesis.
  <CR><LINESPACE 20>
<COLUMN=351><FONT=0>For<COL INC 24>example,<COL INC 24>let
  <COL INC 24><FONT=8>α<FONT=3>1<FONT=0><COL INC 23>be<COL INC 24>
  <FONT=2>(A<SP>.<SP>B)<FONT=0><COL INC 24>and<COL INC 24><FONT=8>α
  <FONT=3>2<FONT=0><COL INC 23>be<COL INC 24><FONT=2>(1<SP>.<SP>T)
  <FONT=0>;<COL INC 24>then<COL INC 24><FONT=2>(<FONT=8>α<FONT=3>1
  <FONT=0><SP>.<SP><FONT=8>α<FONT=3>2<FONT=0>)<COL INC 23>is<CR><LF>
<COLUMN=351><FONT=0><FONT=2>((A<SP>.<SP>B)<SP>.<SP>(1<SP>.<SP>T))
  <FONT=0>.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Greek<COL INC 16>letters<COL INC 17>
  <FONT=8>α<FONT=0><COL INC 16>and<COL INC 17><FONT=8>β<FONT=0>
  <COL INC 16>will<COL INC 17>be<COL INC 16>used<COL INC 17>in
  <COL INC 16>the<COL INC 17>text<COL INC 16>to<COL INC 17>designate
  <COL INC 16>pattern<CR><LF>
<COLUMN=351><FONT=0>matches.<COL INC 30>In<COL INC 30>the<COL INC 30>current
  <COL INC 31>context<COL INC 30>the<COL INC 30>pattern<COL INC 30>matches
  <COL INC 31>will<COL INC 30>involve<CR><LF>
<COLUMN=351><FONT=0>S-expressions;<COL INC 14>they<COL INC 14>can
  <COL INC 14>match<COL INC 15>any<COL INC 14>well-formed<COL INC 14>S-expression.
  <COL INC 14><SP>For<COL INC 15>a<COL INC 14>further<CR><LF>
<COLUMN=351><FONT=0>example,<COL INC 16>let<COL INC 16><FONT=2>(A<SP>.
  <SP>(B<SP>.<SP>C))<FONT=0><COL INC 16>be<COL INC 17><FONT=2>(<FONT=8>α
  <FONT=2><SP>.<SP><FONT=8>β<FONT=2>)<FONT=0><COL INC 16>then
  <COL INC 16><FONT=8>α<FONT=0><COL INC 16>is<COL INC 17><FONT=2>A
  <FONT=0><COL INC 16>and<COL INC 16><FONT=8>β<FONT=0><COL INC 16>is
  <COL INC 17><FONT=2>(B<SP>.<SP>C)<FONT=0>.<COL INC 16><SP>These<CR><LF>
<COLUMN=351><FONT=0>variables<SP>are<SP>called<SP><FONT=1>match-variables
  <FONT=0><SP>or<SP><FONT=1>meta-variables<FONT=0>.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Finally<SP>here's<SP>a<SP>BNF<SP>description
  <SP>of<SP>the<SP>full<SP>set<SP>of<SP>S-expressions.<CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=588><LB>sexpr<RB><SP>::<SP>=<SP><LB>atom<RB><SP>|<SP>
  <FONT=2>(<FONT=0><LB>sexpr<RB><SP>.<SP><LB>sexpr<RB><FONT=2>)<SP><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>4<FONT=0>However,
  <COL INC 25>we<COL INC 25>will<COL INC 25>discuss<COL INC 25>such
  <COL INC 25>topics<COL INC 25>in<COL INC 25>Section<SP>7.3
  <COL INC 25>on<COL INC 25>string<CR><LF>
<COLUMN=351><FONT=0>processing.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>5<FONT=0>We<SP>will<SP>not
  <SP>give<SP>the<SP>termination<SP>clause,<SP>but<SP>it<SP>is<SP>assumed
  <SP>to<SP>hold.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.2<COLUMN=725>Symbolic<SP>Expressions:
  <SP>Abstract<SP>Data<SP>Structures<SP><SP><SP><SP><SP>7<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Notice<COL INC 14>that<COL INC 15>if
  <COL INC 14>we<COL INC 15>allow<COL INC 14>real<COL INC 14>numbers
  <COL INC 15>as<COL INC 14>atoms<COL INC 15>then<COL INC 14>some
  <COL INC 15>care<COL INC 14>would<CR><LF>
<COLUMN=351><FONT=0>need<COL INC 11>to<COL INC 11>be<COL INC 12>exercised
  <COL INC 11>when<COL INC 11>writing<COL INC 12>S-expressions.
  <COL INC 11>For<COL INC 11>example,<COL INC 12>should<COL INC 11>
  <FONT=2>(3.1.2)<FONT=0><CR><LF>
<COLUMN=351><FONT=0>be<COL INC 11>interpreted<COL INC 11>as
  <COL INC 12>the<COL INC 11>dotted<COL INC 11>pair<COL INC 11><FONT=2>(3
  <COL INC 12>.<COL INC 11>1.2)<FONT=0>,<COL INC 11>as<COL INC 11>the
  <COL INC 12>dotted<COL INC 11>pair<COL INC 11><FONT=2>(3.1<SP>.<SP>2)
  <FONT=0>,<COL INC 11>or<COL INC 12>is<COL INC 11>it<CR><LF>
<COLUMN=351><FONT=0>just<COL INC 15>an<COL INC 15>ill-formed
  <COL INC 15>expression?<COL INC 15><SP>Interpretation<COL INC 15>of
  <COL INC 15>such<COL INC 15>ambiguous<COL INC 14>constructs<CR><LF>
<COLUMN=351><FONT=0>will<SP>depend<SP>on<SP>the<SP>implementation;
  <SP>such<SP>details<SP>are<SP>discussed<SP>later.<CR><LINESPACE 20>
<COLUMN=351><FONT=0>Examples:<COLUMN=543>S-exprs<COLUMN=891>non<SP>S-exprs
  <CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=543>A<COLUMN=891>A<SP>.<SP>B<CR>
  <LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=543>(A<SP>.<SP>B)<COLUMN=891>(A<SP>.<SP>B
  <SP>.<SP>C)<CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=543>(((A<SP>.<SP>B)<SP>.<SP>C)<SP>.<SP>(A
  <SP>.<SP>B))<COLUMN=891>((A<SP>.<SP>B))<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>The<COL INC 10>set<COL INC 10>described
  <COL INC 10>by<COL INC 10><LB>sexpr<RB><COL INC 10>is<COL INC 10>a
  <COL INC 10><FONT=5>specific<FONT=0><COL INC 10>syntactic<COL INC 10>representation
  <COL INC 10>of<COL INC 10>the<CR><LF>
<COLUMN=351><FONT=0>domain<COL INC 14><FONT=12><LB>sexpr<RB><FONT=0>.
  <COL INC 14><SP>However,<COL INC 14>the<COL INC 14>set<COL INC 14><LB>sexpr<RB>
  <COL INC 14>will<COL INC 14>be<COL INC 14>a<COL INC 14>convenient
  <COL INC 13>notation<CR><LF>
<COLUMN=351><FONT=0>since<COL INC 18>it<COL INC 17>makes<COL INC 18>explicit
  <COL INC 17>the<COL INC 18>construction<COL INC 17>of<COL INC 18>the
  <COL INC 17>composite<COL INC 18>S-expr<COL INC 18>from<COL INC 17>its
  <CR><LF>
<COLUMN=351><FONT=0>components,<FONT=7><SP>6<FONT=0><SP>and<SP>the
  <SP>notation<SP>is<SP>also<SP>consistent<SP>with<SP>LISP<SP>history.
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>However<COL INC 15>there<COL INC 15>is
  <COL INC 15>more<COL INC 15>to<COL INC 15>the<COL INC 15>domain
  <COL INC 15><FONT=12><LB>sexpr<RB><FONT=0><COL INC 15>than<COL INC 15>syntax,
  <COL INC 15>just<COL INC 15>as<CR><LF>
<COLUMN=351><FONT=0>there<COL INC 12>is<COL INC 11>more<COL INC 12>to
  <COL INC 11><FONT=12>N<FONT=0><COL INC 12>than<COL INC 11>positional
  <COL INC 12>notation.<FONT=7><SP>7<FONT=0><COL INC 11>What
  <COL INC 12><FONT=5>are<FONT=0><COL INC 11>the<COL INC 12>essential
  <COL INC 11>features<CR><LF>
<COLUMN=351><FONT=0>of<COL INC 15>S-expressions?<COL INC 15>Symbolic
  <COL INC 15>expressions<COL INC 15>are<COL INC 15>either<COL INC 15>atomic
  <COL INC 15>or<COL INC 15>they<COL INC 15>have<COL INC 15>two<CR><LF>
<COLUMN=351><FONT=0>components.<COL INC 15>If<COL INC 15>we
  <COL INC 15>are<COL INC 16>confronted<COL INC 15>with<COL INC 15>a
  <COL INC 15>non-atomic<COL INC 15>S-expression<COL INC 16>then
  <COL INC 15>we<CR><LF>
<COLUMN=351><FONT=0>want<COL INC 23>a<COL INC 23>means<COL INC 23>of
  <COL INC 23>distinguishing<COL INC 23>between<COL INC 23>the
  <COL INC 23>"first"<COL INC 23>and<COL INC 23>the<COL INC 22>"second"
  <CR><LF>
<COLUMN=351><FONT=0>component.<COL INC 11>The<COL INC 12>"dot
  <COL INC 11>notation"<COL INC 11>does<COL INC 12>this<COL INC 11>for
  <COL INC 12>us,<COL INC 11>but<COL INC 11>obviously<COL INC 12>"(",
  <COL INC 11>")",<COL INC 12>and<COL INC 11>"."<CR><LF>
<COLUMN=351><FONT=0>of<COL INC 10>the<COL INC 10>dotted-pairs
  <COL INC 11>are<COL INC 10>simply<COL INC 10>notation<COL INC 11>or
  <COL INC 10>syntax.<COL INC 10><SP>We<COL INC 11>could<COL INC 10>have
  <COL INC 10>just<COL INC 11>as<COL INC 10>well<CR><LF>
<COLUMN=351><FONT=0>represented<COL INC 17>the<COL INC 17>dotted-pair
  <COL INC 17>of<COL INC 17><FONT=2>A<FONT=0><COL INC 17>and
  <COL INC 17><FONT=2>B<FONT=0><COL INC 17>as<COL INC 17>the
  <COL INC 17>set-theoretic<COL INC 18>ordered<COL INC 17>pair,<CR><LF>
<COLUMN=351><FONT=0><FONT=2><LB>A,B<RB><FONT=0><COL INC 15>or<COL INC 16>any
  <COL INC 15>other<COL INC 15>notation<COL INC 16>which<COL INC 15>preserves
  <COL INC 15>the<COL INC 16>essentials<COL INC 15>of<COL INC 16>the
  <COL INC 15>domain<CR><LF>
<COLUMN=351><FONT=0><FONT=12><LB>sexpr<RB><FONT=0>.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>The<COL INC 14>distinctions
  <COL INC 14>between<COL INC 15>abstract<COL INC 14>objects
  <COL INC 14>and<COL INC 14>their<COL INC 15>representation
  <COL INC 14>are<CR><LF>
<COLUMN=351><FONT=0>quite<COL INC 13>important.<COL INC 13>As
  <COL INC 13>we<COL INC 13>continue<COL INC 13>our<COL INC 13>study
  <COL INC 13>of<COL INC 13>more<COL INC 13>and<COL INC 13>more
  <COL INC 13>complex<COL INC 12>data<CR><LF>
<COLUMN=351><FONT=0>structures<COL INC 22>the<COL INC 22>use
  <COL INC 22>of<COL INC 21>an<COL INC 22>abstract<COL INC 22>data
  <COL INC 22>structure<COL INC 21>instead<COL INC 22>of<COL INC 22>one
  <COL INC 22>of<COL INC 21>its<CR><LF>
<COLUMN=351><FONT=0>representations<COL INC 13>can<COL INC 13>mean
  <COL INC 13>the<COL INC 14>difference<COL INC 13>between<COL INC 13>a
  <COL INC 13>clear<COL INC 13>and<COL INC 14>clean<COL INC 13>program
  <CR><LF>
<COLUMN=351><FONT=0>and<COL INC 15>a<COL INC 15>confusing<COL INC 15>and
  <COL INC 15>complicated<COL INC 15>program.<COL INC 15>There
  <COL INC 15>are<COL INC 15>similar<COL INC 15>gains<COL INC 15>for
  <COL INC 14>us<CR><LF>
<COLUMN=351><FONT=0>when<COL INC 14>we<COL INC 15>study<COL INC 14>algorithms
  <COL INC 15>defined<COL INC 14>over<COL INC 14>these<COL INC 15>abstract
  <COL INC 14>data<COL INC 15>structures.<COL INC 14>The<CR><LF>
<COLUMN=351><FONT=0>less<COL INC 13>the<COL INC 13>algorithm
  <COL INC 13>knows<COL INC 13>about<COL INC 14>the<COL INC 13>representation
  <COL INC 13>of<COL INC 13>the<COL INC 13>data<COL INC 14>structure,
  <COL INC 13>the<CR><LF>
<COLUMN=351><FONT=0>easier<COL INC 16>it<COL INC 15>will<COL INC 16>be
  <COL INC 15>to<COL INC 16>modify<COL INC 15>or<COL INC 16>understand
  <COL INC 15>that<COL INC 16>algorithm.<COL INC 15>Indeed<COL INC 16>you
  <COL INC 15>may<CR><LF>
<COLUMN=351><FONT=0>have<COL INC 17>already<COL INC 17>experienced
  <COL INC 17>this<COL INC 17>phenomenon<COL INC 17>if<COL INC 17>you
  <COL INC 17>have<COL INC 17>programmed.<COL INC 16><SP>A<CR><LF>
<COLUMN=351><FONT=0>program<COL INC 30>written<COL INC 31>in
  <COL INC 30>a<COL INC 31>high-level<COL INC 30>language<COL INC 31>is
  <COL INC 30>almost<COL INC 31>always<COL INC 30>more<CR><LF>
<COLUMN=351><FONT=0>understandable<COL INC 24>than<COL INC 24>its
  <COL INC 24>machine-language<COL INC 24>counterpart.<COL INC 24><SP>The
  <COL INC 24>high-level<CR><LF>
<COLUMN=351><FONT=0>program<COL INC 15>is<COL INC 15>more<COL INC 15>abstract
  <COL INC 15>whereas<COL INC 15>the<COL INC 15>machine-language
  <COL INC 15>program<COL INC 15>knows<COL INC 14>a<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>6<FONT=0>Just<COL INC 11>as
  <COL INC 11>the<COL INC 10>"successor"<COL INC 11>notation
  <COL INC 11>shows<COL INC 10>the<COL INC 11>construction<COL INC 11>of
  <COL INC 11>the<COL INC 10>numbers<CR><LF>
<COLUMN=351><FONT=0>from<COL INC 13><FONT=2>0<FONT=0>.<COL INC 12>This
  <COL INC 13>kind<COL INC 13>of<COL INC 12>notation<COL INC 13>will
  <COL INC 13>be<COL INC 12>much<COL INC 13>more<COL INC 13>useful
  <COL INC 12>in<COL INC 13>LISP,<COL INC 13>since<COL INC 12>our<CR><LF>
<COLUMN=351><FONT=0>interest<COL INC 17>in<COL INC 18>data
  <COL INC 17>structures<COL INC 17>will<COL INC 18>focus<COL INC 17>on
  <COL INC 17>the<COL INC 18>construction<COL INC 17>process
  <COL INC 18>and<COL INC 17>the<CR><LF>
<COLUMN=351><FONT=0>interrelationships<SP>between<SP>components<SP>of
  <SP>an<SP>S-expr.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>7<FONT=0><FONT=2>2
  <FONT=0>,<COL INC 14>II<COL INC 14>in<COL INC 14>Roman<COL INC 14>numerals,
  <COL INC 14>10<COL INC 15>in<COL INC 14>binary,<COL INC 14>"zwei"
  <COL INC 14>in<COL INC 14>German<COL INC 14>...<COL INC 15>are
  <COL INC 14>all<CR><LF>
<COLUMN=351><FONT=0>representations<SP>of<SP>the<SP>same<SP>number.
  <CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>8<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.2<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>great<COL INC 31>deal<COL INC 31>about
  <COL INC 31>representations.<COL INC 30><SP>Finally,<COL INC 31>if
  <COL INC 31>you<COL INC 31>still<COL INC 31>doubt<COL INC 30>that<CR><LF>
<COLUMN=351><FONT=0>representations<COL INC 20>make<COL INC 20>a
  <COL INC 20>difference<COL INC 20>in<COL INC 20>clarity,<COL INC 20>try
  <COL INC 20>doing<COL INC 20>long<COL INC 20>division<COL INC 20>in
  <CR><LF>
<COLUMN=351><FONT=0>Roman<COL INC 28>numerals.<COL INC 28><SP>We
  <COL INC 28>will<COL INC 29>say<COL INC 28>much<COL INC 28>more
  <COL INC 28>about<COL INC 29>abstraction<COL INC 28>and<CR><LF>
<COLUMN=351><FONT=0>representation<SP>in<SP>algorithms<SP>and<SP>data
  <SP>structures<SP>as<SP>we<SP>proceed.<CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=507><FONT=1>1.3<SP><SP>Trees:<SP>Representations
  <SP>of<SP>Symbolic<SP>expressions<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>Besides<COL INC 18>the<COL INC 18>more
  <COL INC 17>conventional<COL INC 18>typographical<COL INC 18>notations,
  <COL INC 18>S-expressions<COL INC 17>also<CR><LF>
<COLUMN=351><FONT=0>have<COL INC 31>interesting<COL INC 31><FONT=5>graphical
  <FONT=0><COL INC 30>representations.<COL INC 31><SP>S-exprs
  <COL INC 31>have<COL INC 31>a<COL INC 30>natural<CR><LF>
<COLUMN=351><FONT=0>interpretation<SP>as<SP>a<SP>structure<SP>which
  <SP>we<SP>call<SP>a<SP>LISP-tree<SP>or<SP>L-tree.<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>Here<SP>are<SP>some<SP>L-trees:<CR><LINESPACE 17>
<COLUMN=351><FONT=15><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP>/\<SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>/\<CR>
  <LINESPACE 0>
<COLUMN=351><FONT=15><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>/
  <SP><SP>\<SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>/<SP><SP>\<CR>
  <LINESPACE 0>
<COLUMN=351><FONT=15><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>/
  <SP><SP><SP><SP>\<SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>/<SP><SP><SP>/\<CR>
  <LINESPACE 0>
<COLUMN=351><FONT=15><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>/\<SP>
  <SP><SP><SP>/\<SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>/<SP><SP><SP>/<SP><SP>\<CR>
  <LINESPACE 0>
<COLUMN=351><FONT=15><SP><SP><SP><SP><SP><SP><SP><SP><SP>/<SP><SP>\
  <SP><SP>/<SP><SP>\<SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP><FONT=2>A<FONT=15><SP><SP><SP>
  <FONT=2>B<FONT=15><SP><SP><SP><FONT=2>NIL<FONT=15><CR><LINESPACE 0>
<COLUMN=351><FONT=15><SP><SP><SP><SP><SP><SP><SP><SP><FONT=2>1
  <FONT=15><SP><SP><SP><FONT=2>2<FONT=15><SP><SP><FONT=2>A<FONT=15><SP>
  <SP>/\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><FONT=2>D<FONT=15><SP><SP><FONT=2>E<FONT=15><CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0>We<SP>can<SP>give<SP>an<SP>inductive<SP>definition:
  <CR><LF>
<CR><LINESPACE 8>
<COLUMN=351><FONT=0><FONT=1>1.<FONT=0><SP>Any<SP>element<SP>of<SP><LB>atom<RB>
  <SP>is<SP>an<SP>L-tree.<CR><LINESPACE 9>
<COLUMN=351><FONT=0><FONT=1>2.<FONT=0><SP>If<SP><FONT=2>n<FONT=3>1
  <FONT=0><SP>and<SP><FONT=2>n<FONT=3>2<FONT=0><SP>are<SP>L-trees<SP>then
  <CR><LF>
<CR><LINESPACE 11>
<COLUMN=351><FONT=15><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP>/\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP>/<SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP>/<SP><SP><SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><FONT=2>n<FONT=3>1<FONT=15><SP><SP><SP><SP>
  <FONT=2>n<FONT=3>2<FONT=15><CR><LINESPACE 20>
<COLUMN=351><FONT=0>also<COL INC 16>forms<COL INC 16>an<COL INC 16>L-tree.
  <COL INC 16><SP>Most<COL INC 16>important:<COL INC 16>there
  <COL INC 16>are<COL INC 16>no<COL INC 17>intersecting<COL INC 16>branches.
  <CR><LF>
<COLUMN=351><FONT=0>Later<SP>we<SP>will<SP>talk<SP>about<SP>more<SP>general
  <SP>structures<SP>called<SP>list-structures.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>You<COL INC 20>can<COL INC 20>see
  <COL INC 20>how<COL INC 20>to<COL INC 20>interpret<COL INC 20>S-exprs
  <COL INC 20>as<COL INC 20>L-trees.<COL INC 20><SP>The<COL INC 20>atoms
  <COL INC 19>are<CR><LF>
<COLUMN=351><FONT=0>interpreted<COL INC 11>as<COL INC 12>terminal
  <COL INC 11>nodes;<COL INC 12>and<COL INC 11>since<COL INC 11>non-atomic
  <COL INC 12>S-exprs<COL INC 11>always<COL INC 12>have<COL INC 11>two
  <CR><LF>
<COLUMN=351><FONT=0>sub-expressions<COL INC 11>we<COL INC 11>can
  <COL INC 11>write<COL INC 10>the<COL INC 11>first<COL INC 11>sub-expression
  <COL INC 11>as<COL INC 10>the<COL INC 11>left<COL INC 11>branch
  <COL INC 11>of<COL INC 10>an<CR><LF>
<COLUMN=351><FONT=0>L-tree<SP>and<SP>the<SP>second<SP>sub-expression
  <SP>as<SP>the<SP>right<SP>branch.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.3<COLUMN=724>Trees:<SP>Representations
  <SP>of<SP>Symbolic<SP>expressions<SP><SP><SP><SP><SP>9<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>For<SP>example:<CR><LINESPACE 17>
<COLUMN=351><FONT=15><FONT=2>(A<SP>.<SP>B)<FONT=15><COLUMN=639>
  <FONT=2>(A<SP>.<SP>(B<SP>.<SP>C))<FONT=15><COLUMN=939><FONT=2>((A<SP>.
  <SP>B)<SP>.<SP>C)<FONT=15><CR><LF>
<CR><LINESPACE 0>
<COLUMN=351><FONT=15><SP><SP>/\<COLUMN=639><SP><SP><SP><SP><SP>/\
  <COLUMN=927><SP><SP><SP><SP><SP>/\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><SP>/<SP><SP>\<COLUMN=639><SP><SP><SP><SP>/<SP>
  <SP>\<COLUMN=927><SP><SP><SP><SP>/<SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><FONT=2>A<FONT=15><SP><SP><SP><FONT=2>B<FONT=15>
  <COLUMN=639><SP><SP><SP>/<SP><SP><SP>/\<COLUMN=927><SP><SP><SP>/\<SP>
  <SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=639><SP><SP>/<SP><SP><SP>/<SP><SP>\
  <COLUMN=927><SP><SP>/<SP><SP>\<SP><SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=639><SP><FONT=2>A<FONT=15><SP><SP><SP>
  <FONT=2>B<FONT=15><SP><SP><SP><FONT=2>C<FONT=15><COLUMN=939><SP>
  <FONT=2>A<FONT=15><SP><SP><SP><FONT=2>B<FONT=15><SP><SP><SP><FONT=2>C
  <FONT=15><CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>Other<COL INC 30>representations
  <COL INC 30>of<COL INC 31>LISP-trees<COL INC 30>are<COL INC 30>possible;
  <COL INC 31>for<COL INC 30>example<CR><LF>
<COLUMN=351><FONT=0><FONT=2>(A<SP>.<SP>(B<SP>.<SP>C))<FONT=0><SP>can
  <SP>be<SP>expressed<SP>as:<SP><FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP>⊂αααπααα⊃<SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP>⊂αααπααα⊃<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>ααααα→~
  <SP>#<SP>~<SP>#αβααααααααααα→~<SP>#<SP>~<SP>#<SP>~<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP>%αβα∀ααα$<SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP>%αβα∀αβα$<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP>↓<SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP>↓<SP><SP><SP>↓<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><FONT=2>A<FONT=10><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><FONT=2>B
  <FONT=10><SP><SP><SP><FONT=2>C<FONT=10><CR><LINESPACE 20>
<COLUMN=351><FONT=0>or:<CR><LINESPACE 17>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP>⊂αααπααα⊃<SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP>⊂αααπααα⊃<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>ααααα→~
  <SP>A<SP>~<SP>#αβααααααααααα→~<SP>B<SP>~<SP>C<SP>~<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP>%ααα∀ααα$<SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP>%ααα∀ααα$<CR><LINESPACE 20>
<COLUMN=351><FONT=0>These<SP>last<SP>two<SP>representations<SP>are
  <SP>called<SP><FONT=1>box-notation<FONT=0>.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Please<COL INC 10>keep<COL INC 10>in
  <COL INC 11>mind<COL INC 10>the<COL INC 10>distinction<COL INC 10>between
  <COL INC 11>the<COL INC 10>abstract<COL INC 10>S-expr<COL INC 11>and
  <COL INC 10>the<CR><LF>
<COLUMN=351><FONT=0>several<COL INC 33>representations<COL INC 33>which
  <COL INC 33>we<COL INC 33>have<COL INC 33>shown.<COL INC 33><SP>The
  <COL INC 34>question<COL INC 33>of<CR><LF>
<COLUMN=351><FONT=0>representation<COL INC 12>is<COL INC 11>so
  <COL INC 12>important<COL INC 11>and<COL INC 12>will<COL INC 11>occur
  <COL INC 12>so<COL INC 11>frequently<COL INC 12>that<COL INC 12>we
  <COL INC 11>introduce<CR><LF>
<COLUMN=351><FONT=0>notation<COL INC 18>for<COL INC 19>a<COL INC 18>representational
  <COL INC 19>mapping,<COL INC 18><FONT=8>r<FONT=0>.<COL INC 18><SP>To
  <COL INC 19>represent<COL INC 18>domain<COL INC 19><FONT=12>D<FONT=0>
  <COL INC 18>in<CR><LF>
<COLUMN=351><FONT=0>domain<COL INC 15><FONT=12>E<FONT=0>,<COL INC 15>we
  <COL INC 16>will<COL INC 15>define<COL INC 15>a<COL INC 15>function
  <COL INC 16><FONT=8>r<FONT=3>D→E<FONT=0><COL INC 15>which<COL INC 15>usually
  <COL INC 15>will<COL INC 16>be<COL INC 15>specified<CR><LF>
<COLUMN=351><FONT=0>inductively,<SP>and<SP>will<SP>express<SP>the<SP>desired
  <SP>mapping.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>For<SP>example<SP>a<SP>representational
  <SP>mapping<SP><FONT=8>r<FONT=3><LB>sexpr<RB>→L-tree<FONT=0><SP>can<SP>be
  <SP>given:<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=705><FONT=8>r<FONT=14>(<FONT=0><LB>atom<RB>
  <FONT=14>)<FONT=0><SP>=<SP><LB>atom<RB><CR><LINESPACE 9>
<COLUMN=351><FONT=0>and<SP>for<SP><FONT=8>α<FONT=0><SP>and<SP>
  <FONT=8>β<FONT=0><SP>in<SP><LB>sexpr<RB>:<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=639><FONT=8>r<FONT=14>(<FONT=2>(<FONT=8>α
  <FONT=2><SP>.<SP><FONT=8>β<FONT=2>)<FONT=14>)<FONT=0><SP>=<FONT=15>
  <COLUMN=795><SP><SP><SP><SP>/\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=639><COLUMN=783><SP><SP><SP><SP>/<SP>
  <SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=639><COLUMN=783><SP><SP><SP>/<SP><SP>
  <SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=639><COLUMN=783><FONT=8>r<FONT=14>(
  <FONT=8>α<FONT=14>)<FONT=15><SP><SP><SP><FONT=8>r<FONT=14>(<FONT=8>β
  <FONT=14>)<FONT=15><CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Typically<COL INC 22>context
  <COL INC 21>will<COL INC 22>determine<COL INC 22>the<COL INC 21>appropriate
  <COL INC 22>subscript<COL INC 22>on<COL INC 21>the<CR><LF>
<COLUMN=351><FONT=0><FONT=8>r<FONT=0>-mapping;<SP>thus<SP>we<SP>will
  <SP>omit<SP>it.<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=792><FONT=1>Problems<FONT=0><CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0>1.<SP><SP>Which<SP>of<SP>the<SP>following<SP>are
  <SP>dotted-pairs?<CR><LINESPACE 9>
<COLUMN=351><FONT=0><COLUMN=387><FONT=1>a.<FONT=2><SP>(X<SP>.<SP>Y)
  <COLUMN=555><FONT=1>b.<FONT=2><SP>((A<SP>.<SP>(B<SP>.<SP>C))
  <COLUMN=819><SP><FONT=1>c.<FONT=2><SP><SP>A2<COLUMN=1011><SP><FONT=1>d.
  <FONT=2><SP>(X<SP>.<SP>Y2<SP>.<SP>Z)<CR><LINESPACE 20>
<COLUMN=351><FONT=0>2.<SP><SP>Write<SP>the<SP>following<SP>as<SP>LISP
  <SP>trees:<CR><LINESPACE 9>
<COLUMN=351><FONT=0><COLUMN=387><FONT=1>a.<FONT=2><SP><SP>((A<SP>.
  <SP>B)<SP>.<SP>(B<SP>.<SP>(C<SP>.<SP>D)))<COLUMN=819><COLUMN=1011>
  <FONT=1>b.<FONT=2><SP><SP>(((A<SP>.<SP>B)<SP>.<SP>C)<SP>.<SP>E)<CR>
  <LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=387><FONT=1>c.<FONT=2><SP><SP>((X<SP>.
  <SP>NIL)<SP>.<SP>(Y<SP>.<SP>(Z<SP>.<SP>NIL)))<COLUMN=819>
  <COLUMN=1011><FONT=1>d.<FONT=2><SP><SP>(NIL<SP>.<SP>NIL)<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>10<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.3<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>3.<SP><SP>Write<SP>the<SP>following
  <SP>LISP<SP>trees<SP>as<SP>S-exprs:<CR><LINESPACE 6>
<COLUMN=351><FONT=15><COLUMN=423><SP><SP><SP><FONT=1>a.<FONT=15>
  <COLUMN=699><SP><SP><SP><SP><FONT=1>b.<FONT=15><COLUMN=939><SP><SP>
  <SP><SP><SP><SP><FONT=1>c.<FONT=15><CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=423><SP><SP><SP><SP>/\<COLUMN=699><SP>
  <SP><SP>/\<COLUMN=939><SP><SP><SP><SP>/\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=423><SP><SP><SP>/<SP><SP>\<COLUMN=699>
  <SP><SP>/<SP><SP>\<COLUMN=939><SP><SP><SP>/<SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=423><SP><SP>/<SP><SP><SP>/\<COLUMN=699>
  <SP>A<SP><SP><SP>/\<COLUMN=939><SP><SP>A<SP><SP><SP>/\<CR>
  <LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=423><SP>/<SP><SP><SP>/<SP><SP>\
  <COLUMN=699><SP><SP><SP><SP>/<SP><SP>\<COLUMN=939><SP><SP><SP><SP>
  <SP>/<SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=423>A<SP><SP><SP>B<SP><SP><SP><SP>C
  <COLUMN=699><SP><SP><SP>/<SP><SP><SP><SP>\<COLUMN=939><SP><SP><SP>
  <SP>B<SP><SP><SP>/\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=699><SP><SP>/\<SP><SP><SP><SP>/\
  <COLUMN=939><SP><SP><SP><SP><SP><SP><SP>/<SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=699><SP>/<SP><SP>\<SP><SP><SP>D<SP>E
  <COLUMN=939><SP><SP><SP><SP><SP><SP>C<SP><SP><SP>/\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=699><SP>A<SP><SP>NIL<COLUMN=939><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP>/<SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=699><COLUMN=939><SP><SP><SP><SP><SP><SP>
  <SP><SP>D<SP><SP><SP>NIL<CR><LINESPACE 0>
<COLUMN=351><FONT=10><FONT=1>d.<FONT=10><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><FONT=1>e.<FONT=10><CR><LINESPACE 0>
<COLUMN=351><FONT=10>⊂αααπααα⊃<SP><SP>⊂αααπααααα⊃<SP><SP>⊂ααααααπααα⊃
  <SP><SP>⊂αααπααα⊃<SP><SP>⊂αααπααααα⊃<CR><LINESPACE 0>
<COLUMN=351><FONT=10>~<SP>#<SP>~<SP>#αβα→~<SP>#<SP>~<SP><SP>#<SP><SP>~
  <SP><SP>~<SP>CONS<SP>~<SP>#αβα→~<SP>X<SP>~<SP>#αβα→~<SP>Y<SP>~<SP>NIL
  <SP>~<CR><LINESPACE 0>
<COLUMN=351><FONT=10>%αβα∀ααα$<SP><SP>%αβα∀ααβαα$<SP><SP>%αααααα∀ααα$
  <SP><SP>%ααα∀ααα$<SP><SP>%ααα∀ααααα$<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP>↓<SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP>~<SP><SP><SP><SP>↓<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP>CAR<SP><SP><SP><SP><SP><SP><SP><SP><SP>~<SP>
  <SP><SP>NIL<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP>~<SP><SP>⊂αααααπααα⊃<SP><SP>⊂αααπααααα⊃<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP>%α→~<SP><SP>#<SP><SP>~<SP>#αβα→~<SP>#<SP>~<SP><SP>#<SP><SP>~<CR>
  <LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP>%ααβαα∀ααα$<SP><SP>%αβα∀ααβαα$<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP>↓<SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP>↓<SP><SP><SP><SP>↓<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP>QUOTE<SP><SP><SP><SP><SP><SP><SP><SP><SP>A<SP>
  <SP><SP>NIL<CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=691><FONT=1>1.4<SP><SP>Primitive<SP>Functions
  <FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>So<COL INC 13>far<COL INC 12>we<COL INC 13>have
  <COL INC 12>described<COL INC 13>the<COL INC 13>domain<COL INC 12>of
  <COL INC 13>abstract<COL INC 12>objects<COL INC 13>called<COL INC 13>S-exprs
  <COL INC 12>and<CR><LF>
<COLUMN=351><FONT=0>have<COL INC 21>exhibited<COL INC 22>several
  <COL INC 21>representations<COL INC 21>for<COL INC 22>these
  <COL INC 21>objects.<COL INC 21><SP>We<COL INC 22>will<COL INC 21>now
  <CR><LF>
<COLUMN=351><FONT=0>describe<COL INC 13>some<COL INC 12>functions
  <COL INC 13>or<COL INC 13>operations<COL INC 12>to<COL INC 13>be
  <COL INC 13>performed<COL INC 12>on<COL INC 13>this<COL INC 13>domain.
  <COL INC 12><SP>We<CR><LF>
<COLUMN=351><FONT=0>need<COL INC 10>to<COL INC 10>be<COL INC 10>a
  <COL INC 10>bit<COL INC 10>careful<COL INC 10>here.<COL INC 10>We
  <COL INC 10>are<COL INC 10>about<COL INC 10>to<COL INC 10>see
  <COL INC 10>one<COL INC 10>of<COL INC 10>the<COL INC 11>main
  <COL INC 10>differences<CR><LF>
<COLUMN=351><FONT=0>between<COL INC 11>mathematics<COL INC 11>and
  <COL INC 11>computer<COL INC 11>science:<COL INC 11>mathematics
  <COL INC 11>emphasizes<COL INC 11>the<COL INC 11>idea<CR><LF>
<COLUMN=351><FONT=0>of<COL INC 14>function;<COL INC 15>computer
  <COL INC 14>science<COL INC 15>emphasizes<COL INC 14>the<COL INC 14>idea
  <COL INC 15>of<COL INC 14>algorithm,<COL INC 15>process,<COL INC 14>or
  <CR><LF>
<COLUMN=351><FONT=0>procedure.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Mathematically<COL INC 11>a
  <COL INC 11>function<COL INC 11>is<COL INC 11>simply<COL INC 11>a
  <COL INC 11>mapping<COL INC 11>such<COL INC 11>that<COL INC 11>for
  <COL INC 11>any<COL INC 10>given<CR><LF>
<COLUMN=351><FONT=0>argument<COL INC 12>in<COL INC 11>the<COL INC 12>domain
  <COL INC 12>of<COL INC 11>the<COL INC 12>function<COL INC 12>there
  <COL INC 11>exists<COL INC 12>a<COL INC 12>unique<COL INC 11>corresponding
  <CR><LF>
<COLUMN=351><FONT=0>value.<COL INC 10>In<COL INC 10>elementary
  <COL INC 10>set<COL INC 10>theory,<COL INC 10>a<COL INC 10>definition
  <COL INC 10>of<COL INC 10>function<COL INC 10><FONT=2>f<FONT=0>
  <COL INC 10>involves<COL INC 11>saying<COL INC 10>that<CR><LF>
<COLUMN=351><FONT=0><FONT=2>f<FONT=0><COL INC 13>is<COL INC 13>a
  <COL INC 13>set<COL INC 14>of<COL INC 13>ordered<COL INC 13>pairs
  <COL INC 13><FONT=2>f<SP>=<SP>{<SP><LB>x<FONT=3>1<FONT=2>,<SP>y<FONT=3>1
  <FONT=2><RB>,<SP>...}<FONT=0>;<COL INC 13>the<COL INC 14><FONT=2>x
  <FONT=3>i<FONT=0>'s<COL INC 13>are<COL INC 13>all<COL INC 13>distinct
  <COL INC 14>and<COL INC 13>the<CR><LF>
<COLUMN=351><FONT=0>value<COL INC 11>of<COL INC 10>the<COL INC 11>function
  <COL INC 10><FONT=2>f<FONT=0><COL INC 11>for<COL INC 11>an
  <COL INC 10>argument<COL INC 11><FONT=2>x<FONT=3>i<FONT=0>
  <COL INC 10>is<COL INC 11>defined<COL INC 10>to<COL INC 11>be
  <COL INC 11>the<COL INC 10>corresponding<CR><LF>
<COLUMN=351><FONT=0><FONT=2>y<FONT=3>i<FONT=0>.<COL INC 12><SP>No
  <COL INC 11>rule<COL INC 12>of<COL INC 12>computation<COL INC 11>is
  <COL INC 12>given<COL INC 11>to<COL INC 12>locate<COL INC 12>values;
  <COL INC 11>with<COL INC 12>the<COL INC 12>first<COL INC 11>definition
  <CR><LF>
<COLUMN=351><FONT=0>it<COL INC 11>is<COL INC 12>implicit<COL INC 11>that
  <COL INC 11>the<COL INC 12>internal<COL INC 11>structure<COL INC 12>of
  <COL INC 11>the<COL INC 11>mapping<COL INC 12>doesn't<COL INC 11>matter;
  <COL INC 12>in<COL INC 11>the<CR><LF>
<COLUMN=351><FONT=0>set-theoretic<SP>definition,<SP>the<SP>correspondence
  <SP>is<SP>explicitly<SP>given.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>An<COL INC 17>algorithm<COL INC 16>or
  <COL INC 17>procedure<COL INC 16>is<COL INC 17>a<COL INC 16>process
  <COL INC 17>for<COL INC 16>computing<COL INC 17>values<COL INC 17>for
  <COL INC 16>a<CR><LF>
<COLUMN=351><FONT=0>function.<COL INC 18>The<COL INC 18>factorial
  <COL INC 17>function,<COL INC 18><FONT=2>n!<FONT=0>,<COL INC 18>can
  <COL INC 17>be<COL INC 18>computed<COL INC 18>by<COL INC 18>many
  <COL INC 17>different<CR><LF>
<COLUMN=351><FONT=0>algorithms;<SP>but<SP>as<SP>a<SP>function<SP>it
  <SP>is<SP>a<SP>set<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423><COLUMN=608><FONT=2>{<LB>0,1<RB>,<SP><LB>1,1<RB>,
  <SP><LB>2,2<RB>,<SP><LB>3,6<RB>,<SP>...<LB>n,n!<RB>,<SP>...}<FONT=0>.<SP><CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0>The<COL INC 13><FONT=1>domain<FONT=0><COL INC 13>of
  <COL INC 12>a<COL INC 13>function<COL INC 13>is<COL INC 13>the
  <COL INC 12>set<COL INC 13>of<COL INC 13>all<COL INC 13>values
  <COL INC 12>for<COL INC 13>which<COL INC 13>the<COL INC 13>function
  <COL INC 12>is<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.4<COLUMN=1044>Primitive<SP>Functions
  <SP><SP><SP><SP><SP>11<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>defined;<COL INC 13>the<COL INC 13><FONT=1>range
  <FONT=0><COL INC 14>of<COL INC 13>a<COL INC 13>function<COL INC 14>is
  <COL INC 13>the<COL INC 13>set<COL INC 13>of<COL INC 14>all
  <COL INC 13>values<COL INC 13>which<COL INC 14>the<COL INC 13>function
  <CR><LF>
<COLUMN=351><FONT=0>takes<COL INC 19>on.<COL INC 19><SP>A<COL INC 18>careful
  <COL INC 19>definition<COL INC 19>of<COL INC 19>a<COL INC 18>function
  <COL INC 19>requires<COL INC 19>specification<COL INC 19>of
  <COL INC 18>a<CR><LF>
<COLUMN=351><FONT=0>further<COL INC 12>set<COL INC 11>called
  <COL INC 12>the<COL INC 11><FONT=1>domain<COL INC 12>of<COL INC 11>discourse
  <FONT=0>.<COL INC 12>The<COL INC 11>domain<COL INC 12>of<COL INC 12>discourse,
  <COL INC 11>named<CR><LF>
<COLUMN=351><FONT=0><FONT=12>D<FONT=0>,<COL INC 17>consists
  <COL INC 17>of<COL INC 17>all<COL INC 17>possible<COL INC 17>values
  <COL INC 17>which<COL INC 17>may<COL INC 17>occur<COL INC 17>as
  <COL INC 17>the<COL INC 17>argument<COL INC 17>to<COL INC 17>a<CR><LF>
<COLUMN=351><FONT=0>function.<COL INC 11><SP>If<COL INC 11>the
  <COL INC 12>domain<COL INC 11>of<COL INC 11>a<COL INC 12>particular
  <COL INC 11>function<COL INC 11><FONT=2>f<FONT=0><COL INC 11>coincides
  <COL INC 12>with<COL INC 11><FONT=12>D<FONT=0><COL INC 11>then
  <COL INC 12><FONT=2>f<FONT=0><COL INC 11>is<CR><LF>
<COLUMN=351><FONT=0>said<COL INC 12>to<COL INC 11>be<COL INC 12>a
  <COL INC 12><FONT=1>total<COL INC 11>function<FONT=0><COL INC 12>over
  <COL INC 12><FONT=12>D<FONT=0>;<COL INC 11>if<COL INC 12>there
  <COL INC 11>are<COL INC 12>elements<COL INC 12>of<COL INC 11>
  <FONT=12>D<FONT=0><COL INC 12>which<COL INC 12>are<COL INC 11>not<CR><LF>
<COLUMN=351><FONT=0>in<COL INC 13>the<COL INC 12>domain<COL INC 13>of
  <COL INC 12><FONT=2>f<FONT=0><COL INC 13>then<COL INC 12><FONT=2>f
  <FONT=0><COL INC 13>is<COL INC 12>a<COL INC 13><FONT=1>partial
  <COL INC 12>function<FONT=0><COL INC 13>over<COL INC 12><FONT=12>D
  <FONT=0>,<COL INC 13>and<COL INC 12><FONT=2>f<FONT=0><COL INC 13>is
  <COL INC 12>said<COL INC 13>to<COL INC 12>be<CR><LF>
<COLUMN=351><FONT=0><FONT=1>undefined<FONT=0><COL INC 14>for
  <COL INC 13>those<COL INC 14>values.<COL INC 13><SP>For<COL INC 14>example,
  <COL INC 13>the<COL INC 14>factorial<COL INC 13>function<COL INC 14>is
  <COL INC 13>typically<CR><LF>
<COLUMN=351><FONT=0>considered<COL INC 12>to<COL INC 12>be
  <COL INC 12>partial<COL INC 12>over<COL INC 12>the<COL INC 12>integers:
  <COL INC 12>total<COL INC 12>for<COL INC 12>the<COL INC 12>natural
  <COL INC 12>numbers,<COL INC 12>but<CR><LF>
<COLUMN=351><FONT=0>undefined<COL INC 14>for<COL INC 14>negative
  <COL INC 14>integers.<COL INC 14><SP>Thus<COL INC 14>the<COL INC 14>concept
  <COL INC 14>of<COL INC 14>"total"<COL INC 14>or<COL INC 14>"partial"
  <COL INC 14>is<CR><LF>
<COLUMN=351><FONT=0>relative<COL INC 11>to<COL INC 12>a<COL INC 11>specified
  <COL INC 11>domain<COL INC 12>of<COL INC 11>discourse.<COL INC 11>
  <SP>However,<COL INC 12>a<COL INC 11>function<COL INC 11><FONT=2>f
  <FONT=0><COL INC 12>total<COL INC 11>over<CR><LF>
<COLUMN=351><FONT=0>a<COL INC 11>domain<COL INC 12><FONT=12>D<FONT=3>1
  <FONT=0><COL INC 11>can<COL INC 12>be<COL INC 11>extended<COL INC 12>to
  <COL INC 11>be<COL INC 11>total<COL INC 12>over<COL INC 11>a
  <COL INC 12>domain<COL INC 11><FONT=12>D<FONT=3>1<FONT=0>∪<FONT=12>D
  <FONT=3>2<FONT=0><COL INC 12>by<COL INC 11>assigning<CR><LF>
<COLUMN=351><FONT=0>values<COL INC 20>to<COL INC 20><FONT=2>f(d)
  <FONT=0><COL INC 21>for<COL INC 20><FONT=2>d<FONT=8>ε<FONT=12>D
  <FONT=3>2<FONT=0>-<FONT=12>D<FONT=3>1<FONT=0>.<COL INC 20>In
  <COL INC 20>this<COL INC 21>way,<COL INC 20>for<COL INC 20>example,
  <COL INC 20>factorial<COL INC 21>can<COL INC 20>be<CR><LF>
<COLUMN=351><FONT=0>extended<COL INC 12>to<COL INC 12>be<COL INC 12>total
  <COL INC 12>over<COL INC 12>the<COL INC 12>integers<COL INC 12>by
  <COL INC 12>defining<COL INC 12><FONT=2>n!<FONT=0><COL INC 12>to
  <COL INC 12>be<COL INC 12><FONT=2>0<FONT=0><COL INC 12>for
  <COL INC 12><FONT=2>n<FONT=0><COL INC 12>less<COL INC 11>than<CR><LF>
<COLUMN=351><FONT=0><FONT=2>0<FONT=0>.<COL INC 10><SP>We<COL INC 11>may
  <COL INC 10>extend<COL INC 10>the<COL INC 11>range<COL INC 10>of
  <COL INC 10>a<COL INC 11>function<COL INC 10>when<COL INC 10>we
  <COL INC 11>extend<COL INC 10>the<COL INC 11>domain;<COL INC 10>thus
  <CR><LF>
<COLUMN=351><FONT=0><FONT=2>f(d)<FONT=0><COL INC 11>need<COL INC 12>not
  <COL INC 11>be<COL INC 12>in<COL INC 11>the<COL INC 12>range
  <COL INC 11>of<COL INC 11>the<COL INC 12>original<COL INC 11><FONT=2>f
  <FONT=0>.<COL INC 12><SP>For<COL INC 11>example,<COL INC 12>we
  <COL INC 11>added<COL INC 12><FONT=2>0<FONT=0><COL INC 11>to<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 16>range<COL INC 16>when<COL INC 17>we
  <COL INC 16>extended<COL INC 16>the<COL INC 16>factorial<COL INC 17>function.
  <COL INC 16>When<COL INC 16>we<COL INC 17>extend<COL INC 16>the<CR><LF>
<COLUMN=351><FONT=0>range<SP>we<SP>must<SP>specify<SP>what<SP>additions
  <SP>have<SP>been<SP>made.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>A<COL INC 17>substantive<COL INC 16>decision
  <COL INC 17>needs<COL INC 16>to<COL INC 17>be<COL INC 16>made
  <COL INC 17>on<COL INC 16>how<COL INC 17>we<COL INC 16>are
  <COL INC 17>to<COL INC 16>handle<CR><LF>
<COLUMN=351><FONT=0>partial<COL INC 14>functions.<FONT=7><SP>8
  <FONT=0><COL INC 14>Since<COL INC 13>we<COL INC 14>are<COL INC 14>attempting
  <COL INC 13>to<COL INC 14>be<COL INC 14>reasonably<COL INC 14>realistic
  <COL INC 13>about<CR><LF>
<COLUMN=351><FONT=0>our<COL INC 16>modelling<COL INC 16>of
  <COL INC 16>computation<COL INC 16>we<COL INC 16>should<COL INC 16>be
  <COL INC 16>as<COL INC 16>precise<COL INC 16>as<COL INC 16>possible
  <COL INC 17>in<COL INC 16>our<CR><LF>
<COLUMN=351><FONT=0>formalism.<COL INC 13><SP>We<COL INC 13>could
  <COL INC 13>introduce<COL INC 13>a<COL INC 13>class<COL INC 12>of
  <COL INC 13>error<COL INC 13>values<COL INC 13>and<COL INC 13>include
  <COL INC 13>them<COL INC 12>in<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 12>range<COL INC 11>of<COL INC 12>
  <FONT=2>f<FONT=0>;<COL INC 12>these<COL INC 11>values<COL INC 12>would
  <COL INC 12>be<COL INC 11>given<COL INC 12>as<COL INC 11>the
  <COL INC 12>result<COL INC 12>of<COL INC 11>applying<COL INC 12>
  <FONT=2>f<FONT=0><COL INC 12>to<COL INC 11>an<CR><LF>
<COLUMN=351><FONT=0>argument<COL INC 19>not<COL INC 20>in<COL INC 19>its
  <COL INC 20>domain;<COL INC 19>or<COL INC 20>we<COL INC 19>could
  <COL INC 20>simply<COL INC 19>say<COL INC 20>that<COL INC 19>the
  <COL INC 20>result<COL INC 19>is<CR><LF>
<COLUMN=351><FONT=0>"unspecified".<FONT=7><SP>9<FONT=0><COL INC 16>We
  <COL INC 15>shall<COL INC 16>pick<COL INC 15>an<COL INC 16>intermediate
  <COL INC 15>position;<COL INC 16>we<COL INC 16>shall<COL INC 15>introduce
  <CR><LF>
<COLUMN=351><FONT=0><FONT=5>one<FONT=0><COL INC 13>new<COL INC 14>element,
  <COL INC 13><FONT=8>B<FONT=0>,<COL INC 14>called<COL INC 13>"unspecified"
  <COL INC 13>or<COL INC 14>"undefined",<COL INC 13>or<COL INC 14>"bottom".
  <FONT=7><SP>10<FONT=0><COL INC 13>We<CR><LF>
<COLUMN=351><FONT=0>will<COL INC 11>define<COL INC 11>all<COL INC 11>our
  <COL INC 11>functions<COL INC 11>over<COL INC 11>domains<COL INC 11>augmented
  <COL INC 11>with<COL INC 11>this<COL INC 12>element;<COL INC 11>thus
  <CR><LF>
<COLUMN=351><FONT=0>constructs<COL INC 11>like<COL INC 11><FONT=2>f(
  <FONT=8>B<FONT=2>)<SP>=<SP>a<FONT=0><COL INC 12>are<COL INC 11>allowed.
  <COL INC 11>For<COL INC 11>the<COL INC 12>moment,<COL INC 11>think
  <COL INC 11>of<COL INC 11><FONT=8>B<FONT=0><COL INC 12>as<COL INC 11>covering
  <CR><LF>
<COLUMN=351><FONT=0>all<COL INC 20>anomalous<COL INC 19>conditions
  <COL INC 20>which<COL INC 20>could<COL INC 19>be<COL INC 20>detected
  <COL INC 19>and<COL INC 20>printed<COL INC 20>as<COL INC 19>error<CR><LF>
<COLUMN=351><FONT=0>messages;<SP>later<SP>we<SP>will<SP>refine<SP>this
  <SP>interpretation.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>As<COL INC 11>we<COL INC 11>define
  <COL INC 11>new<COL INC 11>data<COL INC 11>structures<COL INC 10>we
  <COL INC 11>will<COL INC 11>frequently<COL INC 11>want<COL INC 11>to
  <COL INC 11>extend<COL INC 10>our<CR><LF>
<COLUMN=351><FONT=0>functions<COL INC 13>to<COL INC 13>larger
  <COL INC 13>domains.<COL INC 12>For<COL INC 13>most<COL INC 13>of
  <COL INC 13>our<COL INC 12>purposes,<COL INC 13>a<COL INC 13>function
  <COL INC 13><FONT=2>f<FONT=0><COL INC 12>defined<CR><LF>
<COLUMN=351><FONT=0>on<COL INC 12>(an<COL INC 12>augmented
  <COL INC 11>domain)<COL INC 12><FONT=12>D<FONT=0><COL INC 12>will
  <COL INC 11>be<COL INC 12>extended<COL INC 12>to<COL INC 11>a
  <COL INC 12>larger<COL INC 12>domain,<COL INC 12><FONT=12>D<FONT=0>∪
  <FONT=12>D<FONT=3>1<FONT=0>,<COL INC 11>by<CR><LF>
<CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>8<FONT=0>Partial
  <COL INC 13>functions<COL INC 13>occur<COL INC 13>naturally
  <COL INC 13>in<COL INC 13>computation.<COL INC 13>Most<COL INC 13>programs
  <COL INC 13>will<CR><LF>
<COLUMN=351><FONT=0>fail<COL INC 20>to<COL INC 20>give<COL INC 19>results
  <COL INC 20>under<COL INC 20>some<COL INC 19>circumstances.
  <COL INC 20>The<COL INC 20>function<COL INC 20>which<COL INC 19>that
  <CR><LF>
<COLUMN=351><FONT=0>program<COL INC 20>is<COL INC 20>computing
  <COL INC 20>is<COL INC 21>a<COL INC 20>partial<COL INC 20>function.
  <COL INC 20>Some<COL INC 20>error<COL INC 21>conditions<COL INC 20>can
  <CR><LF>
<COLUMN=351><FONT=0>produce<COL INC 17>error<COL INC 17>messages;
  <COL INC 17>some<COL INC 17>error<COL INC 17>conditions<COL INC 17>may
  <COL INC 17>cause<COL INC 17>the<COL INC 17>program<COL INC 16>to<CR><LF>
<COLUMN=351><FONT=0>loop.<SP>We<SP>will<SP>analyze<SP>both<SP>situations.
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>9<FONT=0>How<COL INC 14>"unspecified"
  <COL INC 14>manifests<COL INC 14>itself<COL INC 14>on<COL INC 13>a
  <COL INC 14>machine<COL INC 14>will<COL INC 14>depend<COL INC 14>on
  <COL INC 13>the<CR><LF>
<COLUMN=351><FONT=0>implementation.<SP>Sometimes<SP>error<SP>messages
  <SP>are<SP>given;<SP>sometimes<SP>not.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>10<FONT=0>"bottom"<SP>is
  <SP>sometimes<SP>written<SP><FONT=8>W<FONT=0>.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>12<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.4<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>defining<COL INC 25><FONT=2>f(d<FONT=3>1<FONT=2>)
  <SP>=<SP>f(<FONT=8>B<FONT=2>)<FONT=0><COL INC 25>for<COL INC 25>
  <FONT=2>d<FONT=3>1<FONT=8>ε<FONT=12>D<FONT=3>1<FONT=0>-<FONT=12>D
  <FONT=0>,<FONT=7><SP>11<FONT=0><COL INC 25>therefore<COL INC 25>
  <FONT=2>f(<FONT=8>B<FONT=2>)<FONT=0><COL INC 25>need<COL INC 25>not
  <COL INC 25>be<COL INC 24><FONT=8>B<FONT=0>.<CR><LF>
<COLUMN=351><FONT=0>However<COL INC 11>many<COL INC 10>of<COL INC 11>the
  <COL INC 10>functions<COL INC 11>which<COL INC 10>we<COL INC 11>will
  <COL INC 10>examine<COL INC 11>are<COL INC 10>defined<COL INC 11>such
  <COL INC 10>that<CR><LF>
<COLUMN=351><FONT=0><FONT=2>f(...,<SP><FONT=8>B<FONT=2>,<SP>...)<SP>=
  <SP><FONT=8>B<FONT=0>.<COL INC 23>Functions<COL INC 23>which
  <COL INC 23>possess<COL INC 23>this<COL INC 23>property<COL INC 23>are
  <COL INC 23>called<COL INC 22><FONT=1>strict<CR><LF>
<COLUMN=351><FONT=1>functions<FONT=0>.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>To<COL INC 14>apply<COL INC 15>this
  <COL INC 14>discussion<COL INC 15>of<COL INC 14><FONT=8>B<FONT=0>
  <COL INC 14>to<COL INC 15>S-exprs<COL INC 14>we<COL INC 15>will
  <COL INC 14>define<COL INC 15>an<COL INC 14>extended<CR><LF>
<COLUMN=351><FONT=0>domain<SP><FONT=12>S<FONT=0><SP>to<SP>be:<CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=721><FONT=12>S<FONT=0><SP>=<SP><SP>
  <FONT=12><LB>sexpr<RB><FONT=0><SP>∪<SP>{<FONT=8>B<FONT=0>}<CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0>Then<COL INC 12>we<COL INC 12>can<COL INC 12>talk
  <COL INC 12>about<COL INC 12>functions<COL INC 12>which<COL INC 12>are
  <COL INC 12>total<COL INC 12>over<COL INC 12><FONT=12>S<FONT=0>
  <COL INC 12>or<COL INC 13>over<COL INC 12><FONT=12><LB>sexpr<RB><FONT=0>,
  <CR><LF>
<COLUMN=351><FONT=0>and<COL INC 11>we<COL INC 11>will<COL INC 10>talk
  <COL INC 11>about<COL INC 11>functions<COL INC 10>which<COL INC 11>are
  <COL INC 11>partial<COL INC 10>over<COL INC 11><FONT=12><LB>sexpr<RB>
  <FONT=0>.<COL INC 11><SP>When<COL INC 10>we<CR><LF>
<COLUMN=351><FONT=0>ask<COL INC 12>if<COL INC 12>an<COL INC 12>S-expr
  <COL INC 12>function<COL INC 12>is<COL INC 12>partial<COL INC 12>or
  <COL INC 12>total<COL INC 12>without<COL INC 12>specifying
  <COL INC 12>a<COL INC 12>domain,<COL INC 12>we<CR><LF>
<COLUMN=351><FONT=0>are<SP>asking<SP>the<SP>question<SP>over<SP>the
  <SP>natural,<SP>unextended<SP>domain,<SP><FONT=12><LB>sexpr<RB><FONT=0>.
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 15>will<COL INC 14>now
  <COL INC 15>move<COL INC 15>towards<COL INC 14>a<COL INC 15>more
  <COL INC 14>algorithmic<COL INC 15>presentation.<COL INC 15>We
  <COL INC 14>will<CR><LF>
<COLUMN=351><FONT=0>return<COL INC 11>to<COL INC 12>the<COL INC 11>mathematical
  <COL INC 11>aspects<COL INC 12>occasionally,<COL INC 11>but
  <COL INC 11>our<COL INC 12>main<COL INC 11>concern<COL INC 12>in
  <COL INC 11>this<CR><LF>
<COLUMN=351><FONT=0>text<COL INC 12>is<COL INC 12>a<COL INC 12>treatment
  <COL INC 12>of<COL INC 12>algorithms<COL INC 12>expressed<COL INC 12>in
  <COL INC 12>LISP.<COL INC 12>We<COL INC 12>will<COL INC 12>continue
  <COL INC 12>to<COL INC 11>say<CR><LF>
<COLUMN=351><FONT=0>"LISP<SP>function"<COL INC 12>or<COL INC 12>just
  <COL INC 11>"function",<COL INC 12>but<COL INC 12>what<COL INC 11>we
  <COL INC 12>are<COL INC 12>expressing<COL INC 12>or<COL INC 11>describing
  <CR><LF>
<COLUMN=351><FONT=0>is<COL INC 15>a<COL INC 14>particular<COL INC 15>algorithm
  <COL INC 15>or<COL INC 14>procedure,<COL INC 15>not<COL INC 15>a
  <COL INC 14>function<COL INC 15>in<COL INC 15>the<COL INC 14>mathematical
  <CR><LF>
<COLUMN=351><FONT=0>sense.<COL INC 17>When<COL INC 17>we<COL INC 17>wish
  <COL INC 17>to<COL INC 17>stress<COL INC 16>the<COL INC 17>distinction
  <COL INC 17>we<COL INC 17>will<COL INC 17>use<COL INC 17>"procedure"
  <COL INC 16>or<CR><LF>
<COLUMN=351><FONT=0>"algorithm".<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>The<COL INC 15>first<COL INC 15>LISP
  <COL INC 15>function<COL INC 15>we<COL INC 15>consider<COL INC 15>is
  <COL INC 15><FONT=2>cons<FONT=0>.<COL INC 15>This<COL INC 15>binary
  <COL INC 15>function<COL INC 15>is<CR><LF>
<COLUMN=351><FONT=0>used<COL INC 18>to<COL INC 18>generate
  <COL INC 17>S-exprs<COL INC 18>from<COL INC 18>less<COL INC 18>complicated
  <COL INC 17>S-exprs.<COL INC 18><SP><FONT=2>cons<FONT=0><COL INC 18>is
  <COL INC 18>called<COL INC 17>a<CR><LF>
<COLUMN=351><FONT=0><FONT=1>constructor<FONT=0>-function<COL INC 11>and
  <COL INC 11>is<COL INC 12>a<COL INC 11>strict<COL INC 11>function;
  <FONT=7><SP>12<FONT=0><COL INC 11>it<COL INC 12>is<COL INC 11>a
  <COL INC 11>total<COL INC 11>function<COL INC 12>over<COL INC 11>the
  <CR><LF>
<COLUMN=351><FONT=0>domain<COL INC 12><FONT=12>S<FONT=0>.<COL INC 12>More
  <COL INC 12>precisely,<COL INC 12>since<COL INC 12><FONT=2>cons
  <FONT=0><COL INC 12>is<COL INC 12>a<COL INC 12><FONT=1>binary<FONT=0>
  <COL INC 12>function,<COL INC 12>each<COL INC 13>argument<COL INC 12>of
  <CR><LF>
<COLUMN=351><FONT=0><FONT=2>cons<FONT=0><COL INC 10>is<COL INC 11>free
  <COL INC 10>to<COL INC 11>take<COL INC 10>on<COL INC 11>values
  <COL INC 10>from<COL INC 10><FONT=12>S<FONT=0>.<FONT=7><SP>13<FONT=0>
  <COL INC 11>Whenever<COL INC 10><FONT=2>cons<FONT=0><COL INC 11>is
  <COL INC 10>presented<COL INC 11>with<COL INC 10>two<CR><LF>
<COLUMN=351><FONT=0>elements<COL INC 16><FONT=8>α<FONT=0><COL INC 15>and
  <COL INC 16><FONT=8>β<FONT=0><COL INC 16>from<COL INC 15><FONT=12><LB>sexpr<RB>
  <FONT=0>,<COL INC 16><FONT=2>cons[<FONT=8>α<FONT=2>;<FONT=8>β<FONT=2>]
  <FONT=0><COL INC 16>returns<COL INC 15>a<COL INC 16>new<COL INC 16>S-expr
  <COL INC 15><FONT=2>(<FONT=8>α<FONT=2><SP>.<SP><FONT=8>β<FONT=2>)
  <FONT=0>.<CR><LF>
<COLUMN=351><FONT=0>Interpreted<COL INC 11>as<COL INC 11>a
  <COL INC 11>LISP-tree,<COL INC 11><FONT=2>cons[<FONT=8>α<FONT=2>;
  <FONT=8>β<FONT=2>]<FONT=0><COL INC 11>forms<COL INC 11>a<COL INC 11>new
  <COL INC 11>LISP<COL INC 11>tree<COL INC 11>which<COL INC 11>has
  <COL INC 12>a<COL INC 11>left<CR><LF>
<COLUMN=351><FONT=0>branch<SP><FONT=8>α<FONT=0><SP>and<SP>has<SP>a
  <SP>right<SP>branch<SP><FONT=8>β<FONT=0>.<CR><LINESPACE 34>
<COLUMN=351><FONT=0>For<SP>example:<COLUMN=711><FONT=2>cons[A;<SP>B]
  <SP>=<SP>(A<SP>.<SP>B)<CR><LINESPACE 34>
<COLUMN=351><FONT=2><COLUMN=711>cons[(A<SP>.<SP>B);<SP>C]<SP>=<SP>((A
  <SP>.<SP>B)<SP>.<SP>C)<FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>Expressions<COL INC 16>which
  <COL INC 16>can<COL INC 16>have<COL INC 17>a<COL INC 16>value,
  <COL INC 16>are<COL INC 16>called<COL INC 16><FONT=1>forms<FONT=0>.
  <COL INC 17><SP>S-exprs<COL INC 16>are<CR><LF>
<COLUMN=351><FONT=0>forms<COL INC 11>since<COL INC 11>they
  <COL INC 11>are<COL INC 11>the<COL INC 11>constants<COL INC 12>of
  <COL INC 11>our<COL INC 11>language:<COL INC 11>the<COL INC 11>value
  <COL INC 11>of<COL INC 11>a<COL INC 12>constant<COL INC 11>is<CR><LF>
<COLUMN=351><FONT=0>that<COL INC 17>constant.<COL INC 16><SP>Function
  <COL INC 17>applications<COL INC 17>are<COL INC 16>forms:<COL INC 17>the
  <COL INC 17>value<COL INC 16>is<COL INC 17>the<COL INC 17>result
  <COL INC 16>of<CR><LF>
<COLUMN=351><FONT=0>performing<SP>the<SP>designated<SP>function<SP>on
  <SP>the<SP>designated<SP>arguments.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Notice<COL INC 23>that<COL INC 23>we
  <COL INC 23>are<COL INC 23>designating<COL INC 23>function
  <COL INC 23>application<COL INC 23>in<COL INC 23>LISP<COL INC 23>by
  <CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>11<FONT=0>The<COL INC 10>exception
  <COL INC 11>to<COL INC 10>this<COL INC 11>extension<COL INC 10>convention
  <COL INC 11>involves<COL INC 10>the<COL INC 11>definition<COL INC 10>of
  <CR><LF>
<COLUMN=351><FONT=0>predicates<COL INC 10>which<COL INC 10>can
  <COL INC 10>tell<COL INC 10>whether<COL INC 10>or<COL INC 10>not
  <COL INC 10>an<COL INC 10>arbitrary<COL INC 10>element<COL INC 10>is
  <COL INC 10>in<COL INC 11>a<COL INC 10>specified<CR><LF>
<COLUMN=351><FONT=0>domain.<COL INC 17>These<COL INC 17>predicates
  <COL INC 18>always<COL INC 17>give<COL INC 17>true<COL INC 17>or
  <COL INC 18>false<COL INC 17>when<COL INC 17>applied<COL INC 18>to
  <COL INC 17>any<CR><LF>
<COLUMN=351><FONT=0>element<SP>other<SP>than<SP><FONT=8>B<FONT=0>.
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>12<FONT=0>For<SP>an<SP>alternative
  <SP>interpretation<SP>of<SP><FONT=2>cons<FONT=0><SP>see<SP>[Fri<SP>76a].
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>13<FONT=0>We<SP>could<SP>also
  <SP>say<SP>that<SP><FONT=2>cons<FONT=0><SP>is<SP>total<SP>over<SP>the
  <SP>Cartesian<SP>product<SP><FONT=12>SxS<FONT=0>.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.4<COLUMN=1044>Primitive<SP>Functions
  <SP><SP><SP><SP><SP>13<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>"function<COL INC 14>name,<COL INC 15>followed
  <COL INC 14>by<COL INC 15>a<COL INC 14>list<COL INC 14>of<COL INC 15>arguments
  <COL INC 14>delimited<COL INC 15>by<COL INC 14>`['<COL INC 15>and
  <COL INC 14>`]'."<FONT=7><SP>14<FONT=0><CR><LF>
<COLUMN=351><FONT=0>The<COL INC 25>`[...]'-notation<COL INC 26>is
  <COL INC 25>part<COL INC 26>of<COL INC 25>the<COL INC 26>LISP
  <COL INC 25>syntax<COL INC 26>and<COL INC 25>we<COL INC 26>will
  <COL INC 25>reserve<CR><LF>
<COLUMN=351><FONT=0>`(...)'-notation<COL INC 12>for<COL INC 13>the
  <COL INC 12>function<COL INC 13>application<COL INC 12>of<COL INC 13>mathematics.
  <COL INC 12>In<COL INC 13>a<COL INC 12>few<COL INC 13>places
  <COL INC 12>in<CR><LF>
<COLUMN=351><FONT=0>our<COL INC 14>discussions<COL INC 14>the
  <COL INC 14>distinction<COL INC 14>will<COL INC 14>be<COL INC 14>important.
  <COL INC 14><SP>Typically<COL INC 14>the<COL INC 14>distinctions<CR><LF>
<COLUMN=351><FONT=0>will<COL INC 12>occur<COL INC 12>when<COL INC 12>we
  <COL INC 11>wish<COL INC 12>to<COL INC 12>distinguish<COL INC 12>between
  <COL INC 11>the<COL INC 12>LISP<COL INC 12>algorithm<COL INC 12>and
  <COL INC 11>the<CR><LF>
<COLUMN=351><FONT=0>mathematical<SP>function<SP>computed<SP>by<SP>that
  <SP>algorithm.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>A<COL INC 23>critical<COL INC 22>distinction
  <COL INC 23>has<COL INC 22>already<COL INC 23>arisen<COL INC 22>in
  <COL INC 23>discussing<COL INC 23>forms<COL INC 22>like<CR><LF>
<COLUMN=351><FONT=0><FONT=2>cons[A;B]<FONT=0>.<COL INC 20>The
  <COL INC 20>constructor<COL INC 20><FONT=2>cons<FONT=0><COL INC 20>is
  <COL INC 21>actually<COL INC 20>an<COL INC 20>algorithm.<COL INC 20>
  <SP>Since<COL INC 20>it<COL INC 21>is<COL INC 20>a<CR><LF>
<COLUMN=351><FONT=0>primitive<COL INC 15>algorithm<COL INC 15>it
  <COL INC 16>will<COL INC 15>be<COL INC 15>represented<COL INC 15>on
  <COL INC 16>a<COL INC 15>machine<COL INC 15>by<COL INC 15>a
  <COL INC 16>sequence<COL INC 15>of<CR><LF>
<COLUMN=351><FONT=0>operations<COL INC 14>which<COL INC 13>depend
  <COL INC 14>on<COL INC 13>the<COL INC 14>implementation<COL INC 13>of
  <COL INC 14>S-exprs<COL INC 13>and<COL INC 14>depend<COL INC 13>on
  <CR><LF>
<COLUMN=351><FONT=0>the<COL INC 11>primitive<COL INC 10>operations
  <COL INC 11>of<COL INC 11>the<COL INC 10>hardware<COL INC 11>machine.
  <COL INC 10><SP>The<COL INC 11><FONT=5>process<FONT=0><COL INC 11>of
  <COL INC 10>extracting<CR><LF>
<COLUMN=351><FONT=0>a<COL INC 18>value<COL INC 18>from<COL INC 18>the
  <COL INC 18>form<COL INC 18><FONT=2>cons[A;<SP>B]<FONT=0><COL INC 18>is
  <COL INC 18>called<COL INC 18><FONT=1>evaluation<FONT=0>.<COL INC 18>Evaluation
  <COL INC 18>is<COL INC 17>an<CR><LF>
<COLUMN=351><FONT=0>algorithmic<COL INC 12>idea;<COL INC 11>there
  <COL INC 12>is<COL INC 11>no<COL INC 12>idea<COL INC 12>of
  <COL INC 11>evaluation<COL INC 12>involved<COL INC 11>with
  <COL INC 12>the<COL INC 12>concept<COL INC 11>of<CR><LF>
<COLUMN=351><FONT=0>"function".<COL INC 16><SP>To<COL INC 16>reinforce
  <COL INC 16>this<COL INC 16>algorithmic<COL INC 16>interpretation
  <COL INC 16>we<COL INC 16>will<COL INC 16>say<COL INC 15>things<CR><LF>
<COLUMN=351><FONT=0>like<COL INC 13>"<SP>a<SP>function<COL INC 13>returns
  <COL INC 13>as<COL INC 13>value<SP>..."<COL INC 13>meaning
  <COL INC 13>the<COL INC 14>algorithmic<COL INC 13>representation<CR><LF>
<COLUMN=351><FONT=0>of<SP>a<SP>function<SP>computes<SP>and<SP>produces
  <SP>a<SP>value.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 21>have<COL INC 22>two
  <COL INC 21>strict,<COL INC 22>unary<COL INC 21><FONT=1>selector
  <FONT=0><COL INC 21>functions,<COL INC 22><FONT=2>car<FONT=0>
  <COL INC 21>and<COL INC 22><FONT=2>cdr<FONT=0>,<FONT=7><SP>15<FONT=0>
  <COL INC 21>for<CR><LF>
<COLUMN=351><FONT=0>traversing<COL INC 16>LISP-trees.<COL INC 17><SP>We
  <COL INC 16>already<COL INC 17>know<COL INC 16>the<COL INC 16>meaning
  <COL INC 17>of<COL INC 16>"strict";<COL INC 17>a<COL INC 16>unary<CR><LF>
<COLUMN=351><FONT=0>function<COL INC 16>expects<COL INC 16><FONT=5>one
  <FONT=0><COL INC 15>argument;<COL INC 16>and<COL INC 16>a<COL INC 16>selector
  <COL INC 15>function<COL INC 16>is<COL INC 16>a<COL INC 16>data
  <COL INC 15>structure<CR><LF>
<COLUMN=351><FONT=0>manipulating<COL INC 16>function<COL INC 16>which
  <COL INC 17>will<COL INC 16>select<COL INC 16>a<COL INC 17>component
  <COL INC 16>of<COL INC 16>a<COL INC 17>composite<COL INC 16>data<CR><LF>
<COLUMN=351><FONT=0>structure.<COL INC 19><SP>Such<COL INC 18>LISP
  <COL INC 19>functions<COL INC 18>are<COL INC 19>called<COL INC 18>selectors
  <COL INC 19>since<COL INC 18>they<COL INC 19>will<COL INC 18><FONT=5>select
  <FONT=0><CR><LF>
<COLUMN=351><FONT=0>components<COL INC 18>of<COL INC 18>non-atomic
  <COL INC 18>elements<COL INC 19>of<COL INC 18><FONT=12><LB>sexpr<RB>
  <FONT=0>.<COL INC 18><SP>Thus<COL INC 18><FONT=2>car<FONT=0>
  <COL INC 18>and<COL INC 19><FONT=2>cdr<FONT=0><COL INC 18>are<CR><LF>
<COLUMN=351><FONT=0>partial<COL INC 19>functions<COL INC 19>over
  <COL INC 19><FONT=12><LB>sexpr<RB><FONT=0>:<COL INC 19>they<COL INC 19>give
  <COL INC 19>values<COL INC 19>in<COL INC 19><FONT=12><LB>sexpr<RB><FONT=0>
  <COL INC 19>only<COL INC 18>for<CR><LF>
<COLUMN=351><FONT=0>non-atomic<COL INC 17>arguments;<COL INC 16>they
  <COL INC 17>give<COL INC 17><FONT=8>B<FONT=0><COL INC 16>whenever
  <COL INC 17>they<COL INC 16>are<COL INC 17>presented<COL INC 17>with
  <COL INC 16>an<CR><LF>
<COLUMN=351><FONT=0>atomic<SP>argument.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>When<COL INC 14>given<COL INC 14>a
  <COL INC 14>non-atomic<COL INC 13>argument,<COL INC 14><FONT=2>(
  <FONT=8>α<FONT=2><COL INC 14>.<COL INC 14><FONT=8>β<FONT=2>)<FONT=0>,
  <COL INC 13><FONT=2>car<FONT=0><COL INC 14>returns<COL INC 14>as
  <COL INC 14>value<COL INC 13>the<CR><LF>
<COLUMN=351><FONT=0>first<COL INC 12>subexpression,<COL INC 12>
  <FONT=8>α<FONT=0>;<COL INC 12><FONT=2>cdr<FONT=0><COL INC 12>(pronounced
  <COL INC 12>could-er)<COL INC 12>returns<COL INC 12>as<COL INC 12>value
  <COL INC 13>the<COL INC 12>second<CR><LF>
<COLUMN=351><FONT=0>sub-expression<SP><FONT=8>β<FONT=0>.<CR>
  <LINESPACE 34>
<COLUMN=351><FONT=0>For<SP>example:<COLUMN=735><FONT=2>car[(A<SP>.
  <SP>B)]<SP>=<SP>A<CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=735>car[A]<SP>=<SP><FONT=8>B<FONT=2><CR>
  <LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=735>cdr[(A<SP>.<SP>B)]<SP>=<SP>B<CR>
  <LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=735>cdr[(A<SP>.<SP>(B<SP>.<SP>C))]<SP>=
  <SP>(B<SP>.<SP>C)<CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=735>car[((A<SP>.<SP>B)<SP>.<SP>C)]<SP>=
  <SP>(A<SP>.<SP>B)<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>14<FONT=0>The<SP>syntax
  <SP>equations<SP>for<SP>forms<SP>are<SP>given<SP>on<SP>page<SP>17.
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>15<FONT=0>These
  <COL INC 18>names<COL INC 18>are<COL INC 18>hold-overs<COL INC 17>from
  <COL INC 18>the<COL INC 18>original<COL INC 18>implementation
  <COL INC 17>of<CR><LF>
<COLUMN=351><FONT=0>LISP<COL INC 21>on<COL INC 21>an<COL INC 21>IBM
  <COL INC 21>704.<COL INC 21>That<COL INC 21>machine<COL INC 21>had
  <COL INC 21>partial-word<COL INC 21>instructions<COL INC 20>to<CR><LF>
<COLUMN=351><FONT=0>reference<COL INC 13>the<COL INC 14><FONT=12>a
  <FONT=0>ddress<COL INC 13>and<COL INC 13><FONT=12>d<FONT=0>ecrement
  <COL INC 14>parts<COL INC 13>of<COL INC 13>a<COL INC 14>machine
  <COL INC 13>location.<COL INC 13>The<COL INC 14><FONT=2>a<FONT=0>
  <COL INC 13>of<CR><LF>
<COLUMN=351><FONT=0><FONT=2>car<FONT=0><COL INC 12>comes<COL INC 12>from
  <COL INC 12>"address",<COL INC 12>the<COL INC 12><FONT=2>d<FONT=0>
  <COL INC 12>of<COL INC 12><FONT=2>cdr<FONT=0><COL INC 12>comes
  <COL INC 12>from<COL INC 12>"decrement".<COL INC 12>The<COL INC 12>
  <FONT=2>c<FONT=0><COL INC 12>and<COL INC 11><FONT=2>r<FONT=0><CR><LF>
<COLUMN=351><FONT=0>come<COL INC 13>from<COL INC 13>"contents
  <COL INC 13>of"<COL INC 13>and<COL INC 13>"register".<COL INC 13>Thus
  <COL INC 13><FONT=2>car<FONT=0><COL INC 13>could<COL INC 13>be
  <COL INC 13>read<COL INC 14>"contents<COL INC 13>of<CR><LF>
<COLUMN=351><FONT=0>address<SP>part<SP>of<SP>register".<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>14<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.4<FONT=0><CR><LF>
<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 17>will<COL INC 17>include
  <COL INC 16>functional<COL INC 17>composition<COL INC 17>as
  <COL INC 16>a<COL INC 17>notation<COL INC 17>for<COL INC 16>combining
  <CR><LF>
<COLUMN=351><FONT=0>LISP<COL INC 19>expressions.<COL INC 19><SP>The
  <COL INC 19>composition<COL INC 19>of<COL INC 19>two<COL INC 19>unary
  <COL INC 19>functions<COL INC 19><FONT=2>f<FONT=0><COL INC 19>and
  <COL INC 20><FONT=2>g<FONT=0><COL INC 19>is<CR><LF>
<COLUMN=351><FONT=0>another<COL INC 25>function,<COL INC 25>denoted
  <COL INC 25>in<COL INC 25>mathematics<COL INC 25>by<COL INC 25>
  <FONT=2>f<FONT=14>o<FONT=2>g<FONT=0>.<COL INC 25>The<COL INC 25>value
  <COL INC 25>of<COL INC 25>an<CR><LF>
<COLUMN=351><FONT=0>expression,<COL INC 12><FONT=2>f<FONT=14>o
  <FONT=2>g[x]<FONT=0>,<COL INC 12>is<COL INC 12>the<COL INC 12>value
  <COL INC 12>of<COL INC 12><FONT=2>f[g[x]]<FONT=0>.<COL INC 12><SP>That
  <COL INC 12>is,<COL INC 12>the<COL INC 12>value<COL INC 12>of
  <COL INC 12><FONT=2>f<FONT=14>o<FONT=2>g[x]<FONT=0><COL INC 12>is
  <COL INC 12>a<COL INC 11><FONT=2>z<FONT=0><CR><LF>
<COLUMN=351><FONT=0>such<COL INC 17>that<COL INC 17><FONT=2>y<FONT=0>
  <COL INC 17>is<COL INC 17>the<COL INC 16>value<COL INC 17>of
  <COL INC 17><FONT=2>g[x]<FONT=0><COL INC 17>and<COL INC 17><FONT=2>z
  <FONT=0><COL INC 17>is<COL INC 16>the<COL INC 17>value<COL INC 17>of
  <COL INC 17><FONT=2>f[y]<FONT=0>.<COL INC 17><FONT=2>f<FONT=14>o
  <FONT=2>g<FONT=0><COL INC 17>may<COL INC 16>be<CR><LF>
<COLUMN=351><FONT=0>undefined<COL INC 13>for<COL INC 12>several
  <COL INC 13>reasons:<COL INC 13><FONT=2>g[x]<FONT=0><COL INC 12>may
  <COL INC 13>be<COL INC 12>undefined<COL INC 13>and<COL INC 13>
  <FONT=2>f<FONT=0><COL INC 12>is<COL INC 13>strict,<COL INC 13>or
  <COL INC 12><FONT=2>f[y]<FONT=0><CR><LF>
<COLUMN=351><FONT=0>may<SP>be<SP>undefined.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Here<SP>are<SP>some<SP>examples<SP>of
  <SP>composition:<CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=442>car<FONT=14>o<FONT=2>cdr[(A<SP>.<SP>(B
  <SP>.<SP>C))]<SP>=<SP>car[cdr[(A<SP>.<SP>(B<SP>.<SP>C))]]<SP>=<SP>car[(B
  <SP>.<SP>C)]<SP>=<SP><SP>B<CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=440>cdr<FONT=14>o<FONT=2>cdr[(A<SP>.<SP>(C
  <SP>.<SP>B))]<SP>=<SP>cdr[cdr[(A<SP>.<SP>(C<SP>.<SP>B))]]<SP>=<SP>cdr[(C
  <SP>.<SP>B)]<SP>=<SP><SP>B<CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=755>cdr[cdr[A]]<SP>=<SP><FONT=8>B<FONT=2>
  <CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=721>car[cdr[(A<SP>.<SP>B)]]<SP>=<SP>
  <FONT=8>B<FONT=2><CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=587>car[cons[X;A]]<SP>=<SP>X<SP><SP><SP>
  <SP><SP>cdr[cons[Y;X]]<SP>=<SP>X<CR><LINESPACE 20>
<COLUMN=351><FONT=0>All<COL INC 11>the<COL INC 11>functions
  <COL INC 11>in<COL INC 11>these<COL INC 11>examples<COL INC 12>are
  <COL INC 11>strict;<COL INC 11>for<COL INC 11>that<COL INC 11>reason,
  <COL INC 11>if<COL INC 11><FONT=2>g[x]<FONT=0><COL INC 12>gives
  <COL INC 11><FONT=8>B<FONT=0><CR><LF>
<COLUMN=351><FONT=0>then<COL INC 13>the<COL INC 13>composition
  <COL INC 14><FONT=2>f<FONT=14>o<FONT=2>g[x]<FONT=0><COL INC 13>also
  <COL INC 13>gives<COL INC 13><FONT=8>B<FONT=0>.<COL INC 14>That
  <COL INC 13>need<COL INC 13>not<COL INC 13>be<COL INC 14>the
  <COL INC 13>case<COL INC 13>if<COL INC 14><FONT=2>f<FONT=0>
  <COL INC 13>is<CR><LF>
<COLUMN=351><FONT=0>non-strict.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>The<COL INC 15>composition
  <COL INC 15>of<COL INC 16>many<COL INC 15><FONT=2>car<FONT=0>
  <COL INC 15>and<COL INC 16><FONT=2>cdr<FONT=0><COL INC 15>functions
  <COL INC 15>occurs<COL INC 16>so<COL INC 15>frequently<CR><LF>
<COLUMN=351><FONT=0>that<COL INC 16>an<COL INC 17>abbreviation
  <COL INC 16>has<COL INC 17>been<COL INC 16>developed.<COL INC 16><SP>Given
  <COL INC 17>such<COL INC 16>a<COL INC 17>composition,<COL INC 16>we
  <CR><LF>
<COLUMN=351><FONT=0>select<COL INC 12>in<COL INC 11>left-to-right
  <COL INC 12>order,<COL INC 11>the<COL INC 12>relevant<COL INC 11>
  <FONT=2>a<FONT=0>'s<COL INC 12>and<COL INC 11><FONT=2>d<FONT=0>'s
  <COL INC 12>in<COL INC 11>the<COL INC 12><FONT=2>car<FONT=0>'s
  <COL INC 11>and<COL INC 12><FONT=2>cdr<FONT=0>'s.<COL INC 11>We<CR><LF>
<COLUMN=351><FONT=0>sandwich<COL INC 12>this<COL INC 12>string
  <COL INC 12>of<COL INC 12><FONT=2>a<FONT=0>'s<COL INC 12>and
  <COL INC 12><FONT=2>d<FONT=0>'s<COL INC 12>between<COL INC 12>a
  <COL INC 12>left-hand<COL INC 12><FONT=2>c<FONT=0><COL INC 12>and
  <COL INC 12>a<COL INC 12>right-hand<COL INC 11><FONT=2>r<FONT=0><CR><LF>
<COLUMN=351><FONT=0>and<SP>give<SP>the<SP>composition<SP>this<SP>name.
  <CR><LINESPACE 20>
<COLUMN=351><FONT=0>For<SP>example:<FONT=2><COLUMN=718>cadr[x]<SP><LB>=
  <SP>car[cdr[x]]<CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=680>caddr[x]<SP><LB>=<SP>car[cdr[cdr[x]]]
  <CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=718>cdar[x]<SP><LB>=<SP>cdr[car[x]]<CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0>These<COL INC 25>compositions<COL INC 25>are
  <COL INC 25>also<COL INC 25>called<COL INC 25><FONT=1><FONT=2>car-cdr-
  <FONT=1>chains<FONT=0>,<COL INC 25>and<COL INC 25>are<COL INC 25>useful
  <COL INC 25>in<CR><LF>
<COLUMN=351><FONT=0>traversing<COL INC 13>LISP-trees.<COL INC 13>The
  <COL INC 13>notation<COL INC 13>"<LB>="<COL INC 13>is<COL INC 13>to
  <COL INC 13>be<COL INC 13>read<COL INC 13>"is<COL INC 13>defined
  <COL INC 13>to<COL INC 14>be<COL INC 13>the<CR><LF>
<COLUMN=351><FONT=0>function<COL INC 12>...".<COL INC 12><SP>This
  <COL INC 12>notation<COL INC 12>is<COL INC 12>only<COL INC 12>a
  <COL INC 12>temporary<COL INC 12>convenience<COL INC 12>and
  <COL INC 12>not<COL INC 13>part<COL INC 12>of<CR><LF>
<COLUMN=351><FONT=0>LISP.<COL INC 13><SP>Soon<COL INC 13>we
  <COL INC 13>will<COL INC 12>study<COL INC 13>what<COL INC 13>is
  <COL INC 13>involved<COL INC 12>in<COL INC 13>giving<COL INC 13>and
  <COL INC 13>using<COL INC 12>definitions<CR><LF>
<COLUMN=351><FONT=0>in<SP>LISP<SP>(Section<SP>3.4).<SP><SP>For<SP>the
  <SP>moment<SP>intuition<SP>will<SP>suffice.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>It<COL INC 17>is<COL INC 18>useful
  <COL INC 17>to<COL INC 17>introduce<COL INC 18>some<COL INC 17>terminology
  <COL INC 17>for<COL INC 18>the<COL INC 17>components<COL INC 18>of
  <COL INC 17>a<CR><LF>
<COLUMN=351><FONT=0>function<SP>definition.<SP>Let<CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=750>f[x<FONT=3>1<FONT=2>;<SP>...;<SP>x
  <FONT=3>n<FONT=2>]<SP><LB>=<SP><FONT=8>x<FONT=2><CR><LINESPACE 20>
<COLUMN=351><FONT=0>represent<COL INC 11>a<COL INC 11>typical
  <COL INC 11>definition.<COL INC 10>The<COL INC 11><FONT=1>name
  <FONT=0><COL INC 11>of<COL INC 11>the<COL INC 11>function<COL INC 10>is
  <COL INC 11><FONT=2>f<FONT=0>;<COL INC 11>the<COL INC 11><FONT=1>body
  <FONT=0><COL INC 11>of<COL INC 10>the<CR><LF>
<COLUMN=351><FONT=0>function<COL INC 11>is<COL INC 10>the<COL INC 11>expression
  <COL INC 11><FONT=8>x<FONT=0>.<COL INC 10><SP>The<COL INC 11>list
  <COL INC 10><FONT=2>[x<FONT=3>1<FONT=2>;<COL INC 11>...;<COL INC 11>x
  <FONT=3>n<FONT=2>]<FONT=0><COL INC 10>appearing<COL INC 11>after
  <COL INC 11>the<COL INC 10>function<CR><LF>
<COLUMN=351><FONT=0>name<COL INC 19>is<COL INC 19>called<COL INC 20>the
  <COL INC 19><FONT=1>formal<COL INC 19>parameter<FONT=0><COL INC 19>list.
  <COL INC 20><SP>The<COL INC 19>elements<COL INC 19>of<COL INC 20>the
  <COL INC 19>formal<CR><LF>
<COLUMN=351><FONT=0>parameter<COL INC 15>list<COL INC 15>are
  <COL INC 15>called<COL INC 15>formal<COL INC 15>parameters
  <COL INC 14>and<COL INC 15>will<COL INC 15>play<COL INC 15>a
  <COL INC 15>role<COL INC 15>similar<COL INC 14>to<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.4<COLUMN=1044>Primitive<SP>Functions
  <SP><SP><SP><SP><SP>15<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>that<COL INC 15>of<COL INC 14>variables
  <COL INC 15>in<COL INC 14>mathematics.<FONT=7><SP>16<FONT=0>
  <COL INC 15>Therefore<COL INC 14>we<COL INC 15>will<COL INC 14>also
  <COL INC 15>refer<COL INC 15>to<COL INC 14>formal<CR><LF>
<COLUMN=351><FONT=0>parameters<COL INC 14>as<COL INC 14>variables.
  <COL INC 14><SP>Lower-case<COL INC 14>identifiers<FONT=7><SP>17
  <FONT=0><COL INC 14>will<COL INC 14>be<COL INC 14>used<COL INC 14>as
  <COL INC 14>variables<CR><LF>
<COLUMN=351><FONT=0>and<COL INC 11>function<COL INC 12>names.
  <COL INC 11><SP>So<COL INC 12>for<COL INC 11>example<COL INC 12>
  <FONT=2>Y<FONT=0><COL INC 11>and<COL INC 11><FONT=2>CAR<FONT=0>
  <COL INC 12>are<COL INC 11>atoms;<COL INC 12><FONT=2>y<FONT=0>
  <COL INC 11>and<COL INC 12><FONT=2>car<FONT=0><COL INC 11>could<CR><LF>
<COLUMN=351><FONT=0>be<COL INC 11>used<COL INC 10>as<COL INC 11>variables.
  <COL INC 10><SP>Be<COL INC 11>clear<COL INC 10>on<COL INC 11>the
  <COL INC 10>distinction<COL INC 11>between<COL INC 10>LISP
  <COL INC 11>variables<COL INC 10>like<CR><LF>
<COLUMN=351><FONT=0><FONT=2>x,<COL INC 17>y<FONT=0><COL INC 17>or
  <COL INC 17><FONT=2>foo<FONT=0>,<COL INC 17>and<COL INC 16>the
  <COL INC 17>match<COL INC 17>variables<FONT=7><SP>18<FONT=0>
  <COL INC 17>like<COL INC 17><FONT=8>α<FONT=0><COL INC 16>or
  <COL INC 17><FONT=8>β<FONT=0>.<COL INC 17><SP>If<COL INC 17><FONT=8>α
  <FONT=0><COL INC 17>and<COL INC 17><FONT=8>β<FONT=0><COL INC 16>denote
  <CR><LF>
<COLUMN=351><FONT=0>S-expressions<COL INC 15>then<COL INC 14><FONT=2>(
  <FONT=8>α<FONT=2><SP>.<SP><FONT=8>β<FONT=2>)<FONT=0><COL INC 15>denotes
  <COL INC 15>a<COL INC 14>well-formed<COL INC 15>S-expr.<COL INC 15>
  <SP>The<COL INC 14>construction,<CR><LF>
<COLUMN=351><FONT=0><FONT=2>(x<SP>.<SP>y)<FONT=0>,<SP>is<SP><FONT=5>not
  <FONT=0><SP>well-formed,<SP>but<SP><FONT=2>cons[x;y]<FONT=0><SP>is
  <SP>correct.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>A<COL INC 25>function<COL INC 24>is
  <COL INC 25><FONT=1>applied<FONT=0><COL INC 24>using<COL INC 25>the
  <COL INC 24>common<COL INC 25>notation<COL INC 25>of<COL INC 24>
  <FONT=1>function<CR><LF>
<COLUMN=351><FONT=1>application<FONT=0>:<CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=784>f[a<FONT=3>1<FONT=2>;<SP>...;<SP>a
  <FONT=3>n<FONT=2>]<CR><LINESPACE 20>
<COLUMN=351><FONT=0>The<COL INC 13><FONT=2>a<FONT=3>i<FONT=0>'s
  <COL INC 13>are<COL INC 13>called<COL INC 13><FONT=1>actual
  <COL INC 13>parameters<FONT=0>;<COL INC 12>for<COL INC 13>an
  <COL INC 13>application<COL INC 13>to<COL INC 13>be<COL INC 13>well
  <COL INC 12>formed,<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 13>actual<COL INC 14>parameters
  <COL INC 13>must<COL INC 13>agree<COL INC 14>in<COL INC 13>number
  <COL INC 13>with<COL INC 14>the<COL INC 13>formal<COL INC 14>parameters
  <COL INC 13>of<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 11>definition<COL INC 11>and
  <COL INC 11>they<COL INC 11>are<COL INC 11>to<COL INC 11>be
  <COL INC 11>associated<COL INC 11>in<COL INC 11>a<COL INC 11>one-for-one
  <COL INC 11>order,<COL INC 11><FONT=2>a<FONT=3>i<FONT=0><COL INC 11>with
  <COL INC 10><FONT=2>x<FONT=3>i<FONT=0>.<CR><LF>
<COLUMN=351><FONT=0>Thus<COL INC 19>in<COL INC 18>the<COL INC 19>expression
  <COL INC 18><FONT=2>car[cdr[(A<SP>.<SP>B)]]<FONT=0><COL INC 19>the
  <COL INC 18>actual<COL INC 19>parameter<COL INC 18>to<COL INC 19>the
  <COL INC 18><FONT=2>car<FONT=0><CR><LF>
<COLUMN=351><FONT=0>function<COL INC 17>is<COL INC 18><FONT=2>cdr[(A
  <SP>.<SP>B)]<FONT=0>,<COL INC 17>and<COL INC 18>the<COL INC 17>actual
  <COL INC 18>parameter<COL INC 17>to<COL INC 18><FONT=2>cdr<FONT=0>
  <COL INC 17>is<COL INC 18><FONT=2>(A<SP>.<SP>B)<FONT=0>.<COL INC 17>
  <SP>The<CR><LF>
<COLUMN=351><FONT=0>process<COL INC 18>of<COL INC 18>associating
  <COL INC 18>formal<COL INC 17>parameters<COL INC 18>with<COL INC 18>actual
  <COL INC 18>parameters<COL INC 18>is<COL INC 17>called<CR><LF>
<COLUMN=351><FONT=0><FONT=1>binding<FONT=0>.<COL INC 19>A<COL INC 19>large
  <COL INC 19>part<COL INC 19>of<COL INC 19>our<COL INC 18>study
  <COL INC 19>will<COL INC 19>involve<COL INC 19>various<COL INC 19>aspects
  <COL INC 19>of<COL INC 18>the<CR><LF>
<COLUMN=351><FONT=0>binding<SP>process.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>It<COL INC 14>is<COL INC 15>convenient
  <COL INC 14>to<COL INC 14>introduce<COL INC 15>some<COL INC 14>terminology
  <COL INC 14>to<COL INC 15>distinguish<COL INC 14>between<CR><LF>
<COLUMN=351><FONT=0>an<COL INC 29>algorithmic<COL INC 29>idea
  <COL INC 29>and<COL INC 29>its<COL INC 29>mathematical<COL INC 29>counterpart.
  <COL INC 30>The<COL INC 29>phrase<CR><LF>
<COLUMN=351><FONT=0>"function<SP>call"<COL INC 38>is<COL INC 38>used
  <COL INC 38>to<COL INC 38>name<COL INC 38>the<COL INC 38>procedural
  <COL INC 39>counterpart<COL INC 38>to<CR><LF>
<COLUMN=351><FONT=0>"function<SP>application".<COL INC 17><SP>LISP
  <COL INC 17>is<COL INC 18>called<COL INC 17>an<COL INC 17><FONT=1>applicative
  <SP>language<FONT=0><COL INC 17>since<COL INC 18>it<COL INC 17>is<CR><LF>
<COLUMN=351><FONT=0>based<COL INC 21>on<COL INC 20>the<COL INC 21>idea
  <COL INC 20>of<COL INC 21>function<COL INC 20>application.
  <COL INC 21><SP>Mathematically<COL INC 21>speaking,<COL INC 20>a<CR><LF>
<COLUMN=351><FONT=0>composition<COL INC 13>of<COL INC 13>functions
  <COL INC 13>is<COL INC 13>simply<COL INC 13>another<COL INC 13>function
  <COL INC 13>--<SP>i.e.,<SP>a<COL INC 14>mapping<SP>--<COL INC 13>and
  <CR><LF>
<COLUMN=351><FONT=0>therefore<COL INC 14>nothing<COL INC 15>need
  <COL INC 14>be<COL INC 15>said<COL INC 14>about<COL INC 14>how
  <COL INC 15>to<COL INC 14>compute<COL INC 15>composed<COL INC 14>functions.
  <CR><LF>
<COLUMN=351><FONT=0>From<COL INC 19>a<COL INC 19>computational
  <COL INC 19>point<COL INC 19>of<COL INC 19>view,<COL INC 19>we
  <COL INC 19>want<COL INC 19>to<COL INC 19>express<COL INC 19>evaluation
  <COL INC 18>of<CR><LF>
<COLUMN=351><FONT=0>expressions<COL INC 19>involving<COL INC 20>composed
  <COL INC 19>functions<COL INC 19>in<COL INC 20>terms<COL INC 19>of
  <COL INC 19>the<COL INC 20>evaluation<COL INC 19>of<CR><LF>
<COLUMN=351><FONT=0>subexpressions.<COL INC 14>This<COL INC 14>would
  <COL INC 15>allow<COL INC 14>us<COL INC 14>to<COL INC 15>describe
  <COL INC 14>a<COL INC 14>complex<COL INC 15>computation<COL INC 14>in
  <CR><LF>
<COLUMN=351><FONT=0>terms<COL INC 15>of<COL INC 15>an<COL INC 15>appropriate
  <COL INC 15>sequence<COL INC 15>of<COL INC 15>subsidiary<COL INC 15>computations.
  <COL INC 15><SP>One<COL INC 16>of<COL INC 15>the<CR><LF>
<COLUMN=351><FONT=0>more<COL INC 20>natural<COL INC 20>ways
  <COL INC 20>to<COL INC 20>evaluate<COL INC 20>expressions<COL INC 20>involving
  <COL INC 20>compositions<COL INC 21>is<COL INC 20>to<CR><LF>
<COLUMN=351><FONT=0>evaluate<COL INC 22>the<COL INC 22>inner-most
  <COL INC 22>expressions<COL INC 22>first,<COL INC 22>then<COL INC 22>work
  <COL INC 23>outwards.<COL INC 22>Assume<CR><LF>
<COLUMN=351><FONT=0>arguments<COL INC 16>to<COL INC 15>multi-argument
  <COL INC 16>functions<COL INC 15>are<COL INC 16>evaluated<COL INC 15>in
  <COL INC 16>left-to-right<COL INC 15>order.<CR><LF>
<COLUMN=351><FONT=0>Thus:<CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=351>cons[car[(A<SP>.<SP>B)];cdr[(A<SP>.
  <SP>(1<SP>.<SP>2))]]<COLUMN=819><FONT=0>reduces<SP>to<FONT=2><SP><SP>cons[A;cdr[(A
  <SP>.<SP>(1<SP>.<SP>2))]]<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=351><COLUMN=819><FONT=0>reduces<SP>to
  <FONT=2><SP><SP>cons[A;(1<SP>.<SP>2)]<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=351><COLUMN=819><FONT=0>reduces<SP>to
  <FONT=2><SP><SP>(A<SP>.<SP>(1<SP>.<SP>2))<CR><LINESPACE 20>
<COLUMN=351><FONT=0>This<COL INC 16>may<COL INC 15>seem<COL INC 16>to
  <COL INC 15>be<COL INC 16>a<COL INC 16>simple<COL INC 15>operation
  <COL INC 16>but<COL INC 15>in<COL INC 16>fact<COL INC 15>evaluation
  <COL INC 16>is<COL INC 16>a<COL INC 15>very<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>16<FONT=0>The<COL INC 16>behavior
  <COL INC 15>of<COL INC 16>formal<COL INC 15>parameters<COL INC 16>and
  <COL INC 15>variables<COL INC 16>is<COL INC 16><FONT=5>not<FONT=0>
  <COL INC 15>identical.<CR><LF>
<COLUMN=351><FONT=0>We<SP>will<SP>say<SP>more<SP>about<SP>the<SP>distinction
  <SP>in<SP>Section<SP>4.1.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>17<FONT=0>See<SP>page<SP>17
  <SP>for<SP>the<SP>BNF<SP>equations<SP>for<SP><LB>identifier<RB>.<CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>18<FONT=0>also<SP>called
  <SP>meta-variables<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>16<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.4<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>complex<COL INC 14>process.<COL INC 14><SP>The
  <COL INC 14>value<COL INC 14>of<COL INC 14>an<COL INC 14>expression
  <COL INC 14>may<COL INC 14>depend<COL INC 14>on<COL INC 14>the
  <COL INC 15><FONT=5>order<FONT=0><COL INC 14>in<CR><LF>
<COLUMN=351><FONT=0>which<COL INC 35>we<COL INC 35>do<COL INC 35>things.
  <COL INC 35>For<COL INC 35>example,<COL INC 35>consider<COL INC 35>the
  <COL INC 35>evaluation<COL INC 34>of<CR><LF>
<COLUMN=351><FONT=0><FONT=2>second[car[A];<SP>B]<FONT=0><COL INC 15>where
  <COL INC 15><FONT=2>second[x;y]<SP><LB>=<SP>y<FONT=0>.<COL INC 14><SP>If
  <COL INC 15>we<COL INC 15>expect<COL INC 14><FONT=2>second<FONT=0>
  <COL INC 15>to<COL INC 15>be<COL INC 15>a<COL INC 14>strict<CR><LF>
<COLUMN=351><FONT=0>function,<COL INC 13>then<COL INC 13><FONT=2>second[car[A];
  <SP>B]<FONT=0><COL INC 13>must<COL INC 13>return<COL INC 13><FONT=8>B
  <FONT=0><COL INC 13>even<COL INC 13>though<COL INC 13>it<COL INC 13>is
  <COL INC 13>reasonable<CR><LF>
<COLUMN=351><FONT=0>to<COL INC 13>believe<COL INC 14>that<COL INC 13>the
  <COL INC 13>value<COL INC 14>of<COL INC 13>the<COL INC 14>computation
  <COL INC 13>should<COL INC 13>be<COL INC 14><FONT=2>B<FONT=0>
  <COL INC 13>since<COL INC 14><FONT=2>second<FONT=0><COL INC 13>does
  <CR><LF>
<COLUMN=351><FONT=0>not<COL INC 12>visibly<COL INC 12>depend
  <COL INC 12>on<COL INC 12>the<COL INC 12>value<COL INC 12>of
  <COL INC 12>its<COL INC 12>first<COL INC 12>parameter.<COL INC 12>
  <SP>It<COL INC 12>appears<COL INC 12>that<COL INC 12>if<COL INC 12>we
  <CR><LF>
<COLUMN=351><FONT=0>postponed<COL INC 14>the<COL INC 14>evaluation
  <COL INC 14>of<COL INC 14>the<COL INC 14>arguments<COL INC 14>until
  <COL INC 14>those<COL INC 14>values<COL INC 14>were<COL INC 13>actually
  <CR><LF>
<COLUMN=351><FONT=0>needed,<COL INC 26>then<COL INC 25>at<COL INC 26>least
  <COL INC 25>this<COL INC 26>problem<COL INC 25>would<COL INC 26>be
  <COL INC 25>solved.<COL INC 26><SP>However,<COL INC 25>the<CR><LF>
<COLUMN=351><FONT=0>consequences<COL INC 15>of<COL INC 14>defining
  <COL INC 15>a<COL INC 14>function<COL INC 15>to<COL INC 14>be
  <COL INC 15>strict<COL INC 14>are<COL INC 15>severe;<COL INC 14>they
  <COL INC 15>cannot<COL INC 14>be<CR><LF>
<COLUMN=351><FONT=0>sidestepped<COL INC 21>by<COL INC 21>resorting
  <COL INC 21>to<COL INC 21>different<COL INC 21>schemes<COL INC 21>for
  <COL INC 21>evaluating<COL INC 20>arguments.<CR><LF>
<COLUMN=351><FONT=0>There<COL INC 12>is<COL INC 12>an<COL INC 12>alternative,
  <COL INC 12>but<COL INC 12>not<COL INC 12>particularly<COL INC 12>attractive,
  <COL INC 12>strategy<COL INC 13>for<COL INC 12>assigning<CR><LF>
<COLUMN=351><FONT=0>strictness:<COL INC 11>we<COL INC 11>could
  <COL INC 11>examine<COL INC 11>the<COL INC 11>body<COL INC 12>of
  <COL INC 11>the<COL INC 11>function;<COL INC 11>if<COL INC 11>the
  <COL INC 11>function<COL INC 12>uses<COL INC 11>all<CR><LF>
<COLUMN=351><FONT=0>its<COL INC 12>parameters,<COL INC 12>then
  <COL INC 12>it's<COL INC 11>strict.<COL INC 12>If<COL INC 12>the
  <COL INC 12>function<COL INC 11>doesn't<COL INC 12>depend<COL INC 12>on
  <COL INC 12>one<COL INC 12>or<COL INC 11>more<CR><LF>
<COLUMN=351><FONT=0>parameters,<COL INC 21>then<COL INC 21>it's
  <COL INC 21>non-strict.<COL INC 20>Thus<COL INC 21>with<COL INC 21>this
  <COL INC 21>interpretation,<COL INC 21><FONT=2>second<FONT=0>
  <COL INC 20><FONT=5>is<FONT=0><CR><LF>
<COLUMN=351><FONT=0>non-strict.<COL INC 13><SP>We<COL INC 13>prefer
  <COL INC 13>the<COL INC 13>initial<COL INC 13>interpretation,
  <COL INC 13>reasoning<COL INC 13>that,<COL INC 13>if<COL INC 13>a
  <COL INC 12>function<CR><LF>
<COLUMN=351><FONT=0>is<COL INC 18>passed<COL INC 18>bad<COL INC 18>information,
  <COL INC 18>then<COL INC 18>we<COL INC 19>wish<COL INC 18>to
  <COL INC 18>know<COL INC 18>about<COL INC 18>it,<COL INC 18>even
  <COL INC 19>if<COL INC 18>the<CR><LF>
<COLUMN=351><FONT=0>function<SP>does<SP>not<SP>use<SP>that<SP>specious
  <SP>result.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Strictness<COL INC 11>is<COL INC 11>closely
  <COL INC 11>related<COL INC 11>to<COL INC 11>evaluation<COL INC 11>schemes
  <COL INC 11>for<COL INC 11>parameter<COL INC 10>passing.<CR><LF>
<COLUMN=351><FONT=0>Here<SP>are<SP>two<SP>common<SP>techniques:<CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0><FONT=1>CBV<FONT=0><SP><SP><SP><SP>Evaluate
  <COL INC 28>the<COL INC 28>arguments<COL INC 28>to<COL INC 27>a
  <COL INC 28>function;<COL INC 28>pass<COL INC 28>those<COL INC 27>evaluated
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=459>arguments<SP>to<SP>the<SP>function.
  <CR><LINESPACE 20>
<COLUMN=351><FONT=0>This<COL INC 17>scheme,<COL INC 18>called
  <COL INC 17><FONT=1>C<FONT=0>all<COL INC 17><FONT=1>B<FONT=0>y
  <COL INC 18><FONT=1>V<FONT=0>alue,<COL INC 17>is<COL INC 17>what
  <COL INC 18>we<COL INC 17>were<COL INC 17>informally<COL INC 18>using
  <COL INC 17>to<CR><LF>
<COLUMN=351><FONT=0>evaluate<SP>the<SP>previous<SP>examples.<CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>An<SP>alternative<SP>evaluation<SP>process
  <SP>is<SP><FONT=1>C<FONT=0>all<SP><FONT=1>B<FONT=0>y<SP><FONT=1>N
  <FONT=0>ame:<CR><LINESPACE 20>
<COLUMN=351><FONT=0><FONT=1>CBN<FONT=0><COLUMN=447>Pass<SP>the<SP>unevaluated
  <SP>arguments<SP>into<SP>the<SP>body<SP>of<SP>the<SP>function.<CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0>Assuming<COL INC 10><FONT=2>second<FONT=0>
  <COL INC 11>is<COL INC 10>defined<COL INC 11>to<COL INC 10>be
  <COL INC 11>strict,<COL INC 10>then<COL INC 11><FONT=2>second[car[A];
  <SP>B]<FONT=0><COL INC 10>yields<COL INC 11><FONT=8>B<FONT=0>
  <COL INC 10>under<CR><LF>
<COLUMN=351><FONT=0>either<COL INC 12><FONT=1>CBV<FONT=0><COL INC 11>or
  <COL INC 12><FONT=1>CBN<FONT=0>.<COL INC 12>However<COL INC 11>if
  <COL INC 12>we<COL INC 11>define<COL INC 12><FONT=2>second<FONT=0>
  <COL INC 12>to<COL INC 11>be<COL INC 12>non-strict<COL INC 12>then
  <COL INC 11><FONT=1>CBV<FONT=0><CR><LF>
<COLUMN=351><FONT=0>and<COL INC 13><FONT=1>CBN<FONT=0><COL INC 13>will
  <COL INC 13>both<COL INC 13>give<COL INC 13>value<COL INC 13><FONT=2>B
  <FONT=0>.<COL INC 14><SP>With<COL INC 13><FONT=1>CBV<FONT=0>,
  <COL INC 13><FONT=2>x<FONT=0><COL INC 13>is<COL INC 13>bound
  <COL INC 13>to<COL INC 13><FONT=8>B<FONT=0>;<COL INC 14>while
  <COL INC 13>with<CR><LF>
<COLUMN=351><FONT=0><FONT=1>CBN<FONT=0><SP><FONT=2>x<FONT=0><SP>is
  <SP>bound<SP>to<SP><FONT=2>car[A]<FONT=0>.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Further<COL INC 12>relationships
  <COL INC 12>between<COL INC 12>evaluation<COL INC 11>schemes
  <COL INC 12>and<COL INC 12>strictness<COL INC 12>will<COL INC 11>be
  <CR><LF>
<COLUMN=351><FONT=0>investigated.<COL INC 22><SP>On<COL INC 22>page
  <SP>21<COL INC 21>we<COL INC 22>discuss<COL INC 22>non-terminating
  <COL INC 22>computations.<COL INC 21><SP>In<CR><LF>
<COLUMN=351><FONT=0>Chapter<SP>3<COL INC 19>we<COL INC 19>will
  <COL INC 18>discuss<COL INC 19>evaluation<COL INC 19>techniques
  <COL INC 18>and<COL INC 19>will<COL INC 19>give<COL INC 19>a
  <COL INC 18>precise<CR><LF>
<COLUMN=351><FONT=0>characterization<COL INC 12>of<COL INC 12>the
  <COL INC 13>evaluation<COL INC 12>of<COL INC 12>LISP<COL INC 13>expressions.
  <COL INC 12><SP>On<COL INC 12>page<SP>19<COL INC 13>we<COL INC 12>will
  <CR><LF>
<COLUMN=351><FONT=0>introduce<COL INC 21>a<COL INC 22>non-strict
  <COL INC 21>language<COL INC 22>construct<COL INC 21>but,<COL INC 22>until
  <COL INC 21>that<COL INC 22>time,<COL INC 21>intuitive<CR><LF>
<COLUMN=351><FONT=0>application<SP>of<SP><FONT=1>CBV<FONT=0><SP>will
  <SP>suffice.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 14>must<COL INC 14>exercise
  <COL INC 15>care<COL INC 14>when<COL INC 14>discussing<COL INC 15>the
  <COL INC 14>process<COL INC 14>of<COL INC 15>evaluation;<COL INC 14>the
  <CR><LF>
<COLUMN=351><FONT=0>function<COL INC 12>we<COL INC 12>are<COL INC 12>characterizing
  <COL INC 12>by<COL INC 12>computing<COL INC 12>its<COL INC 12>values
  <COL INC 12>will<COL INC 12>often<COL INC 13>depend<COL INC 12>on<CR><LF>
<COLUMN=351><FONT=0>our<SP>choice<SP>of<SP>evaluation<SP>scheme.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.4<COLUMN=1044>Primitive<SP>Functions
  <SP><SP><SP><SP><SP>17<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Before<COL INC 14>introducing
  <COL INC 14>a<COL INC 14>further<COL INC 14>class<COL INC 14>of
  <COL INC 14>LISP<COL INC 14>expressions<COL INC 14>we<COL INC 13>summarize
  <CR><LF>
<COLUMN=351><FONT=0>the<SP>syntax<SP>of<SP>the<SP>LISP<SP>expressions
  <SP>allowed<SP>so<SP>far:<CR><LINESPACE 20>
<COLUMN=351><FONT=0><LB>form<RB><COLUMN=579>::=<SP><LB>constant<RB><SP>|<SP><LB>application<RB>
  <SP>|<SP><SP><LB>variable<RB><CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>constant<RB><COLUMN=579>::=<SP><LB>sexpr<RB><SP><SP><SP>
  <SP><SP><SP><SP>(where<SP><LB>sexpr<RB><SP>is<SP>given<SP>on<SP>page<SP>6)
  <CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>application<RB><COLUMN=579>::=<SP><LB>function-part<RB>[<LB>arg<RB>;
  <SP>...;<LB>arg<RB>]<CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>function-part<RB><COLUMN=579>::=<SP><LB>identifier<RB>
  <CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>arg<RB><COLUMN=579>::=<SP><LB>form<RB><CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>variable<RB><COLUMN=579>::=<SP><LB>identifier<RB><CR>
  <LINESPACE 9>
<COLUMN=351><FONT=0><LB>identifier<RB><COLUMN=579>::=<SP><LB>letter<RB><SP>|<SP><LB>identifier<RB><LB>letter<RB>
  <SP>|<SP><LB>identifier<RB><LB>digit<RB><CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>letter<RB><COLUMN=579>::=<SP><FONT=2>a<SP>|<SP>b
  <SP>|<SP>c<SP><SP>...<SP>|<SP>z<SP><SP><FONT=0><CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>digit<RB><COLUMN=579>::=<SP><FONT=2>1<SP>|<SP>2<SP>|
  <SP>...<SP>|<SP>9<CR><LINESPACE 20>
<COLUMN=351><FONT=0>The<COL INC 16>use<COL INC 16>of<COL INC 16>ellipses
  <COL INC 16>in<COL INC 16>the<COL INC 16>last<COL INC 16>equation
  <COL INC 16>is<COL INC 16>an<COL INC 16>abbreviation<COL INC 16>we
  <COL INC 16>have<COL INC 16>seen<CR><LF>
<COLUMN=351><FONT=0>before.<COL INC 11><SP>The<COL INC 10>use
  <COL INC 11>of<COL INC 10>ellipses<COL INC 11>in<COL INC 10>the
  <COL INC 11><LB>application<RB><COL INC 10>equation<COL INC 11>is
  <COL INC 10>different.<COL INC 11>It<COL INC 11>is<COL INC 10>an<CR><LF>
<COLUMN=351><FONT=0>abbreviation<COL INC 12>meaning<COL INC 11>"zero
  <COL INC 12>or<COL INC 11>more<COL INC 12>occurrences".<COL INC 11>
  <SP>Thus<COL INC 12>the<COL INC 12>equation<COL INC 11>means<CR><LF>
<COLUMN=351><FONT=0>an<COL INC 11><LB>application<RB><COL INC 12>is
  <COL INC 11>a<COL INC 12><LB>function-part<RB><COL INC 11>followed
  <COL INC 12>by<COL INC 11>the<COL INC 12>symbol<COL INC 11>"["
  <COL INC 12>followed<COL INC 11>by<CR><LF>
<COLUMN=351><FONT=0>zero<COL INC 15>or<COL INC 15>more<COL INC 15><LB>arg<RB>'s
  <COL INC 15>followed<COL INC 15>by<COL INC 15>the<COL INC 15>symbol
  <COL INC 15>"]".<COL INC 15><SP>This<COL INC 15>use<COL INC 15>of
  <COL INC 15>ellipses<COL INC 15>can<CR><LF>
<COLUMN=351><FONT=0>always<COL INC 19>be<COL INC 19>replaced
  <COL INC 19>by<COL INC 19>a<COL INC 20>sequence<COL INC 19>of
  <COL INC 19>BNF<COL INC 19>equations.<COL INC 19>for<COL INC 20>example,
  <COL INC 19>this<CR><LF>
<COLUMN=351><FONT=0>instance<SP>can<SP>be<SP>replaced<SP>by:<CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0><LB>application<RB><COLUMN=543>::=<SP><LB>function-part<RB>[<LB>arg-list<RB>]
  <SP>|<SP><LB>function-part<RB>[<SP>]<CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>arg-list<RB><COLUMN=543>::=<SP><LB>arg<RB><SP>|<SP><LB>arg-list<RB>;<LB>arg<RB>
  <CR><LINESPACE 20>
<COLUMN=351><FONT=0>To<COL INC 17>improve<COL INC 17>readability
  <COL INC 17>we<COL INC 17>will<COL INC 17>frequently<COL INC 17>violate
  <COL INC 17>these<COL INC 17>syntax<COL INC 16>equations,<CR><LF>
<COLUMN=351><FONT=0>allowing<COL INC 11>function<COL INC 11>names
  <COL INC 11>containing<COL INC 11>special<COL INC 11>characters,
  <COL INC 11>e.g.<COL INC 11><FONT=2>fact*<FONT=0>,<COL INC 11>
  <FONT=2>fib<FONT=8>'<FONT=0><COL INC 11>or<COL INC 11>+<COL INC 12>;
  <COL INC 11>or<CR><LF>
<COLUMN=351><FONT=0>writing<COL INC 13><FONT=2>x+y<FONT=0>
  <COL INC 12>instead<COL INC 13>of<COL INC 12><FONT=2>+[x;y]<FONT=0>.
  <COL INC 13><SP>No<COL INC 13>attempt<COL INC 12>will<COL INC 13>be
  <COL INC 12>made<COL INC 13>to<COL INC 13>characterize<COL INC 12>these
  <CR><LF>
<COLUMN=351><FONT=0>violations;<SP>occurrences<SP>of<SP>them<SP>should
  <SP>be<SP>clear<SP>from<SP>context.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Notice<COL INC 13>that<COL INC 13>the
  <COL INC 13>class<COL INC 13><LB>form<RB><COL INC 12>is<COL INC 13>a
  <COL INC 13>collection<COL INC 13>of<COL INC 13>LISP<COL INC 13>expressions
  <COL INC 12>which<CR><LF>
<COLUMN=351><FONT=0>can<SP>be<SP>evaluated.<SP>A<SP><LB>form<RB><SP>is<SP>either:
  <CR><LF>
<CR><LINESPACE 8>
<COLUMN=351><FONT=0><FONT=1>1.<FONT=0><SP><SP>a<SP>constant:<SP>the
  <SP>value<SP>is<SP>that<SP>constant.<CR><LINESPACE 9>
<COLUMN=351><FONT=0><FONT=1>2.<FONT=0><SP><SP>an<COL INC 20>application:
  <COL INC 20>we've<COL INC 20>said<COL INC 21>a<COL INC 20>bit
  <COL INC 20>about<COL INC 20>evaluation<COL INC 20>schemes
  <COL INC 21>for<COL INC 20>these<CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>constructs.<CR><LINESPACE 9>
<COLUMN=351><FONT=0><FONT=1>3.<FONT=0><SP><SP>a<COL INC 13>variable:
  <COL INC 13>a<COL INC 13>variable<COL INC 13>in<COL INC 13>LISP
  <COL INC 13>will<COL INC 13>typically<COL INC 13>have<COL INC 13>an
  <COL INC 13>associated<COL INC 13>value<COL INC 12>in<CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>some<SP>environment.<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>We<SP>will<SP>wait<SP>to<SP>Section<SP>3.4<SP>for
  <SP>a<SP>precise<SP>description.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>An<COL INC 15>important<COL INC 14>constraint
  <COL INC 15>on<COL INC 14>LISP<COL INC 15>forms<COL INC 14>which
  <COL INC 15>is<COL INC 14>not<COL INC 15>covered<COL INC 15>by
  <COL INC 14>the<CR><LF>
<COLUMN=351><FONT=0>syntax<COL INC 11>equations<COL INC 10>is
  <COL INC 11>the<COL INC 10>requirement<COL INC 11>that<COL INC 10>functions
  <COL INC 11>are<COL INC 10>defined<COL INC 11>as<COL INC 11>being
  <COL INC 10>n-ary<CR><LF>
<COLUMN=351><FONT=0>for<COL INC 13>some<COL INC 13><FONT=5>fixed
  <FONT=0><COL INC 13>n.<COL INC 13><SP>Any<COL INC 13>n-ary
  <COL INC 12>LISP<COL INC 13>function<COL INC 13>must<COL INC 13>have
  <COL INC 13><FONT=5>exactly<FONT=0><COL INC 13>n<COL INC 12>arguments
  <CR><LF>
<COLUMN=351><FONT=0>presented<COL INC 20>to<COL INC 20>it<COL INC 20>whenever
  <COL INC 20>it<COL INC 20>is<COL INC 20>applied.<COL INC 20><SP>Thus
  <COL INC 20><FONT=2>cons[A],<COL INC 20>cons[A;B;C],<COL INC 19>
  <FONT=0>and<CR><LF>
<COLUMN=351><FONT=0><FONT=2>car[A;B]<FONT=0><SP>are<SP>all<SP>ill-formed
  <SP>expressions<SP>and<SP>therefore<SP>denote<SP><FONT=8>B<FONT=0>.
  <CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>18<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.4<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=792><FONT=1>Problems<FONT=0><CR>
  <LINESPACE 25>
<COLUMN=351><FONT=0>1.<SP><SP>Discuss<SP><FONT=2>cons[car[x];cdr[x]]
  <SP>=<SP>x<FONT=0>.<CR><LINESPACE 9>
<COLUMN=351><FONT=0>2.<SP><SP>Discuss<SP><FONT=2>cons[car[<FONT=8>α
  <FONT=2>];cdr[<FONT=8>α<FONT=2>]]<SP>=<SP><FONT=8>α<FONT=0>.<CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=561><FONT=1>1.5<SP><SP>Predicates<SP>and
  <SP>Conditional<SP>Expressions<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>We<COL INC 10>cannot<COL INC 10>generate
  <COL INC 10>a<COL INC 10>very<COL INC 10>exciting<COL INC 10>theory
  <COL INC 10>based<COL INC 10>simply<COL INC 10>on<COL INC 10><FONT=2>car,
  <COL INC 10>cdr,<FONT=0><COL INC 10>and<COL INC 11><FONT=2>cons
  <COL INC 10><FONT=0><CR><LF>
<COLUMN=351><FONT=0>with<COL INC 20>functional<COL INC 21>composition.
  <COL INC 20>Before<COL INC 20>we<COL INC 21>can<COL INC 20>write
  <COL INC 21>reasonably<COL INC 20>interesting<CR><LF>
<COLUMN=351><FONT=0>algorithms<COL INC 10>we<COL INC 10>must
  <COL INC 11>have<COL INC 10>some<COL INC 10>way<COL INC 10>of
  <COL INC 11>performing<COL INC 10>conditional<COL INC 10>actions.
  <COL INC 11><SP>To<COL INC 10>do<CR><LF>
<COLUMN=351><FONT=0>this<COL INC 16>we<COL INC 16>first<COL INC 16>need
  <COL INC 16>predicates.<COL INC 17>A<COL INC 16>LISP<COL INC 16>predicate
  <COL INC 16>is<COL INC 16>a<COL INC 16>function<COL INC 17>returning
  <COL INC 16>a<CR><LF>
<COLUMN=351><FONT=0>value<COL INC 15>representing<COL INC 15>truth
  <COL INC 15>or<COL INC 15>falsity.<COL INC 15><SP>We<COL INC 15>will
  <COL INC 15>represent<COL INC 15>the<COL INC 15>concepts<COL INC 15>of
  <COL INC 15>true<CR><LF>
<COLUMN=351><FONT=0>and<COL INC 13>false<COL INC 13>by<COL INC 13>
  <FONT=13>t<FONT=0><COL INC 14>and<COL INC 13><FONT=13>f<FONT=0>
  <COL INC 13>respectively.<COL INC 13>Since<COL INC 14>these
  <COL INC 13>truth<COL INC 13>values<COL INC 13>are<COL INC 14>distinct
  <COL INC 13>from<CR><LF>
<COLUMN=351><FONT=0>elements<COL INC 15>of<COL INC 16><FONT=12>S
  <FONT=0>,<COL INC 15>we<COL INC 16>will<COL INC 15>set<COL INC 15>up
  <COL INC 16>a<COL INC 15>new<COL INC 16>domain<COL INC 15><FONT=12>Tr
  <FONT=0><COL INC 15>which<COL INC 16>will<COL INC 15>consist
  <COL INC 16>of<COL INC 15>the<CR><LF>
<COLUMN=351><FONT=0>elements,<COL INC 13><FONT=13>t<FONT=0>
  <COL INC 13>and<COL INC 13><FONT=13>f<FONT=0>.<COL INC 13>As
  <COL INC 13>usual<COL INC 13>the<COL INC 12>extra<COL INC 13>element
  <COL INC 13><FONT=8>B<FONT=0><COL INC 13>is<COL INC 13>included
  <COL INC 13>so<COL INC 13>that<COL INC 13>we<COL INC 12>may<CR><LF>
<COLUMN=351><FONT=0>talk<COL INC 16>about<COL INC 17>partial
  <COL INC 16>predicates<COL INC 16>just<COL INC 17>as<COL INC 16>we
  <COL INC 16>talked<COL INC 17>about<COL INC 16>partial<COL INC 17>functions
  <COL INC 16>on<CR><LF>
<COLUMN=351><FONT=0><FONT=12><LB>sexpr<RB><FONT=0>.<FONT=7><SP>19<FONT=0>
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>LISP<COL INC 11>has<COL INC 11>two
  <COL INC 11>primitive<COL INC 11>predicates.<COL INC 11><SP>The
  <COL INC 11>first<COL INC 11>is<COL INC 11>a<COL INC 11>strict
  <COL INC 11>unary<COL INC 11>predicate<CR><LF>
<COLUMN=351><FONT=0>named<COL INC 13><FONT=2>atom<FONT=0>;
  <COL INC 13><FONT=2>atom<FONT=0><COL INC 12>is<COL INC 13>total
  <COL INC 13>over<COL INC 12><FONT=12><LB>sexpr<RB><FONT=0>,<COL INC 13>and
  <COL INC 13>is<COL INC 12>a<COL INC 13>special<COL INC 13>kind
  <COL INC 13>of<COL INC 12>predicate<CR><LF>
<COLUMN=351><FONT=0>called<COL INC 14>a<COL INC 14><FONT=1>recognizer
  <FONT=0><COL INC 15>or<COL INC 14>a<COL INC 14><FONT=1>discriminator
  <FONT=0>.<COL INC 15><SP>Recognizers<COL INC 14>are<COL INC 14>used
  <COL INC 15>to<COL INC 14>determine<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 14>type<COL INC 13>of<COL INC 14>an
  <COL INC 14>instance<COL INC 13>of<COL INC 14>a<COL INC 13>data
  <COL INC 14>structure.<COL INC 14><SP>Thus<COL INC 13><FONT=2>atom
  <FONT=0><COL INC 14>will<COL INC 13>return<COL INC 14><FONT=13>t
  <FONT=0><COL INC 14>if<COL INC 13>the<CR><LF>
<COLUMN=351><FONT=0>argument<COL INC 11>denotes<COL INC 11>an
  <COL INC 11>atom,<COL INC 11>and<COL INC 11>will<COL INC 12>return
  <COL INC 11><FONT=13>f<FONT=0><COL INC 11>if<COL INC 11>the
  <COL INC 11>argument<COL INC 11>is<COL INC 12>a<COL INC 11>non-atomic
  <CR><LF>
<COLUMN=351><FONT=0>S-expr.<CR><LINESPACE 34>
<COLUMN=351><FONT=0><COLUMN=675><FONT=2>atom[A]<SP>=<SP>atom[NIL]<SP>=
  <SP><FONT=13>t<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=675>atom[(A<SP>.<SP>B)]<SP><SP>=<SP>
  <FONT=13>f<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=675>atom[car[(A<SP>.<SP>B)]]<SP><SP>=<SP>
  <FONT=13>t<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=675>atom[<FONT=8>B<FONT=2>]<SP>=<SP>
  <FONT=8>B<FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>What<COL INC 10>should<COL INC 11>we
  <COL INC 10>do<COL INC 11>about<COL INC 10>the<COL INC 10>value
  <COL INC 11>of<COL INC 10>constructs<COL INC 11>like:<COL INC 10>
  <FONT=2>cons[atom[A];<SP>A]<FONT=0>?<CR><LF>
<COLUMN=351><FONT=0>The<COL INC 12>evaluation<COL INC 13>of
  <COL INC 12><FONT=2>atom[A]<FONT=0><COL INC 13>gives<COL INC 12>
  <FONT=13>t<FONT=0>,<COL INC 13>but<COL INC 12><FONT=13>t<FONT=0>
  <COL INC 12>is<COL INC 13>not<COL INC 12>an<COL INC 13>element
  <COL INC 12>of<COL INC 13><FONT=12>S<FONT=0><COL INC 12>and
  <COL INC 13>thus<COL INC 12>is<CR><LF>
<COLUMN=351><FONT=0>not<COL INC 12>appropriate<COL INC 11>as
  <COL INC 12>an<COL INC 11>argument<COL INC 12>to<COL INC 12><FONT=2>cons
  <FONT=0>.<COL INC 11>Using<COL INC 12>our<COL INC 11>discussion
  <COL INC 12>of<COL INC 12>page<SP>11,<COL INC 11>we<CR><LF>
<COLUMN=351><FONT=0>extend<SP>the<SP>domains<SP>of<SP>the<SP>S-expr
  <SP>primitives<SP>to<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=787><FONT=12>S<FONT=3>1<FONT=0><SP>=<SP>
  <FONT=12>S<FONT=0>∪<FONT=12>Tr<FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>For<SP>example,<SP>for<SP><FONT=2>s
  <FONT=8>ε<FONT=12>Tr<FONT=0>:<FONT=2>car[s]<SP>=<SP>car[<FONT=8>B
  <FONT=2>],<SP><FONT=0>and<FONT=2><SP>cons[s;<SP>A]<SP>=<SP>cons[
  <FONT=8>B<FONT=2>;<SP>A]<FONT=0><CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>19<FONT=0>A<COL INC 14>word
  <COL INC 14>for<COL INC 14>the<COL INC 13>previous<COL INC 14>LISP
  <COL INC 14>user:<COL INC 14>our<COL INC 14>use<COL INC 13>of
  <COL INC 14><FONT=13>t<FONT=0><COL INC 14>and<COL INC 14><FONT=13>f
  <FONT=0><COL INC 14>marks<COL INC 13>our<CR><LF>
<COLUMN=351><FONT=0>first<COL INC 14>major<COL INC 13>break
  <COL INC 14>from<COL INC 13>current<COL INC 14>LISP<COL INC 13>folklore.
  <COL INC 14><SP>The<COL INC 13>typical<COL INC 14>LISP<COL INC 13>trick
  <COL INC 14>is<COL INC 13>to<CR><LF>
<COLUMN=351><FONT=0>use<COL INC 19>the<COL INC 20>atoms<COL INC 19>
  <FONT=2>T<FONT=0><COL INC 20>and<COL INC 19><FONT=2>NIL<FONT=0>
  <COL INC 20>rather<COL INC 19>than<COL INC 19><FONT=13>t<FONT=0>
  <COL INC 20>and<COL INC 19><FONT=13>f<FONT=0><COL INC 20>as
  <COL INC 19>truth<COL INC 20>values.<COL INC 19><SP>Our<CR><LF>
<COLUMN=351><FONT=0>convention<COL INC 17>will<COL INC 16>disallow
  <COL INC 17>some<COL INC 16>mixed<COL INC 17>compositions<COL INC 16>of
  <COL INC 17>LISP<COL INC 17>functions<COL INC 16>and<CR><LF>
<COLUMN=351><FONT=0>predicates.<SP>We<SP>will<SP>relax<SP>this<SP>restriction
  <SP>when<SP>we<SP>write<SP>LISP<SP>programs.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.5<COLUMN=805>Predicates<SP>and<SP>Conditional
  <SP>Expressions<SP><SP><SP><SP><SP>19<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Since<SP>those<SP>primitives<SP>are
  <SP>strict<SP>with<SP>respect<SP>to<SP>undefined<SP>we<SP>have:<CR>
  <LINESPACE 34>
<COLUMN=351><FONT=2><COLUMN=759>atom[<FONT=13>t<FONT=2>]<SP>=<SP>
  <FONT=8>B<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=759>cons[<FONT=8>B<FONT=2>;<SP>A]<SP>=
  <SP><FONT=8>B<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=759>cons[A;<SP><FONT=8>B<FONT=2>]<SP>=
  <SP><FONT=8>B<FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>Notice<COL INC 11>that<COL INC 10>we
  <COL INC 11>now<COL INC 11>have<COL INC 10><FONT=5>two<FONT=0>
  <COL INC 11>separate<COL INC 10>domains:<COL INC 11>S-expressions
  <COL INC 11>and<COL INC 10>truth<CR><LF>
<COLUMN=351><FONT=0>values.<COL INC 11><SP>Since<COL INC 11>we
  <COL INC 11>will<COL INC 10>be<COL INC 11>writing<COL INC 11>functions
  <COL INC 11>over<COL INC 10>several<COL INC 11>domains<COL INC 11>we
  <COL INC 11>will<COL INC 10>need<CR><LF>
<COLUMN=351><FONT=0>a<COL INC 10>general<COL INC 10>recognizer
  <COL INC 10>for<COL INC 10>each<COL INC 10>domain<COL INC 10>to
  <COL INC 10>assure<COL INC 10>that<COL INC 10>the<COL INC 10>operations
  <COL INC 10>defined<COL INC 10>on<CR><LF>
<COLUMN=351><FONT=0>each<COL INC 17>abstract<COL INC 17>data
  <COL INC 17>structure<COL INC 17>are<COL INC 16>properly<COL INC 17>applied.
  <COL INC 17>Thus<COL INC 17>we<COL INC 17>introduce<COL INC 16>the
  <CR><LF>
<COLUMN=351><FONT=0>recognizer<COL INC 12><FONT=2>issexpr<FONT=0>
  <COL INC 12>which<COL INC 12>will<COL INC 12>give<COL INC 12>
  <FONT=13>t<FONT=0><COL INC 12>on<COL INC 12>the<COL INC 12>domain
  <COL INC 12>of<COL INC 12>S-exprs,<COL INC 12><FONT=13>f<FONT=0>
  <COL INC 12>for<COL INC 12>for<COL INC 12>any<CR><LF>
<COLUMN=351><FONT=0>element<SP>not<SP>in<SP><FONT=12><LB>sexpr<RB><FONT=0>
  <SP>and<SP>will<SP>give<SP><FONT=8>B<FONT=0><SP>for<SP><FONT=8>B
  <FONT=0>.<CR><LINESPACE 34>
<COLUMN=351><FONT=2><COLUMN=627>issexpr[(A<SP>.<SP>B)]<SP>=<SP>issexpr[A]
  <SP>=<SP><FONT=13>t<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=627>issexpr[<FONT=13>t<FONT=2>]<SP>=<SP>
  <FONT=13>f<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=627>issexpr[<FONT=8>B<FONT=2>]<SP>=<SP>
  <FONT=8>B<FONT=2><CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>Another<COL INC 13>primitive
  <COL INC 12>predicate<COL INC 13>we<COL INC 12>need<COL INC 13>is
  <COL INC 12>named<COL INC 13><FONT=2>eq<FONT=0>.<COL INC 12><SP>It
  <COL INC 13>is<COL INC 12>a<COL INC 13>strict<COL INC 12>binary<CR><LF>
<COLUMN=351><FONT=0>predicate,<COL INC 12>partial<COL INC 12>over
  <COL INC 12>the<COL INC 12>set<COL INC 12><FONT=12><LB>sexpr<RB><FONT=0>;
  <COL INC 13>it<COL INC 12>will<COL INC 12>give<COL INC 12>a
  <COL INC 12>truth<COL INC 12>value<COL INC 12>only<COL INC 13>if
  <COL INC 12>its<CR><LF>
<COLUMN=351><FONT=0>arguments<COL INC 15>are<COL INC 14>both
  <COL INC 15>atomic.<COL INC 14><SP>It<COL INC 15>returns<COL INC 14>
  <FONT=13>t<FONT=0><COL INC 15>if<COL INC 14>the<COL INC 15>arguments
  <COL INC 14>denote<COL INC 15>the<COL INC 14>same<CR><LF>
<COLUMN=351><FONT=0>atom;<COL INC 13>it<COL INC 13>returns
  <COL INC 13><FONT=13>f<FONT=0><COL INC 12>if<COL INC 13>the
  <COL INC 13>arguments<COL INC 13>represent<COL INC 12>different
  <COL INC 13>atoms.<COL INC 13><SP><FONT=2>eq<FONT=0><COL INC 13>yields
  <COL INC 13><FONT=8>B<FONT=0><COL INC 12>if<CR><LF>
<COLUMN=351><FONT=0>either<SP>argument<SP>to<SP><FONT=2>eq<FONT=0>
  <SP>denotes<SP>an<SP>element<SP>not<SP>in<SP>the<SP>set<SP><FONT=12><LB>atom<RB>
  <FONT=0>.<CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=543>eq[A;A]<SP>=<SP><FONT=13>t<FONT=2>
  <COLUMN=855>eq[A;B]<SP>=<SP><FONT=13>f<FONT=2><CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=543>eq[(A<SP>.<SP>B);<SP>A]<SP>=<SP>
  <FONT=8>B<FONT=2><COLUMN=855>eq[(A<SP>.<SP>B);(A<SP>.<SP>B)]<SP>=<SP>
  <FONT=8>B<FONT=2><CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=543>eq[eq[A;B];D]<SP>=<SP><FONT=8>B
  <FONT=2><COLUMN=855>eq[<FONT=8>B<FONT=2>;x]<SP>=<SP><FONT=8>B<FONT=2>
  <CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=543>eq[car[(A<SP>.<SP>B)];car[cdr[(A<SP>.
  <SP>(B<SP>.<SP>C))]]]<SP>=<SP><FONT=13>f<FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>Rather<COL INC 13>than<COL INC 12>define
  <COL INC 13>a<COL INC 13>version<COL INC 12>of<COL INC 13><FONT=2>eq
  <FONT=0>,<COL INC 12>say<COL INC 13><FONT=2>eq<FONT=3>Tr<FONT=0>,
  <COL INC 13>which<COL INC 12>is<COL INC 13>defined<COL INC 13>over
  <COL INC 12><FONT=12>Tr<FONT=0><CR><LF>
<COLUMN=351><FONT=0>and<COL INC 14>acts<COL INC 13>like<COL INC 14>
  <FONT=2>eq<FONT=0>,<COL INC 14>we<COL INC 13>will<COL INC 14>simply
  <COL INC 14>extend<COL INC 13>the<COL INC 14>definition<COL INC 13>of
  <COL INC 14><FONT=2>eq<FONT=0><COL INC 14>to<COL INC 13><FONT=12>S
  <FONT=3>1<FONT=0><COL INC 14>so<COL INC 14>that<COL INC 13>it<CR><LF>
<COLUMN=351><FONT=0>may<SP>compare<SP>two<SP>elements<SP>of<SP>
  <FONT=12>Tr<FONT=0>.<CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=615>eq[<FONT=13>t<FONT=2>;<FONT=13>t
  <FONT=2>]<SP>=<SP><FONT=13>t<FONT=2><COLUMN=819>eq[<FONT=13>f<FONT=2>;
  <FONT=8>B<FONT=2>]<SP>=<SP><FONT=8>B<FONT=2><CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=615>eq[<FONT=13>f<FONT=2>;<FONT=13>f
  <FONT=2>]<SP>=<SP><FONT=13>t<FONT=2><COLUMN=819>eq[<FONT=13>t<FONT=2>;
  <FONT=13>f<FONT=2>]<SP>=<SP><FONT=13>f<FONT=2><CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=615>eq[A;<FONT=13>t<FONT=2>]<SP>=<SP>
  <FONT=8>B<FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 27>need<COL INC 26>to
  <COL INC 27>include<COL INC 27>a<COL INC 26>construct<COL INC 27>in
  <COL INC 27>our<COL INC 26>language<COL INC 27>to<COL INC 27>effect
  <COL INC 26>a<CR><LF>
<COLUMN=351><FONT=0>test-and-branch<COL INC 22>operation.<COL INC 22>
  <SP>In<COL INC 22>LISP<COL INC 21>this<COL INC 22>operation
  <COL INC 22>is<COL INC 22>indicated<COL INC 22>by<COL INC 21>the<CR><LF>
<COLUMN=351><FONT=0><FONT=1>conditional<SP>expression<FONT=0>.<SP>
  <SP>It<SP>is<SP>written:<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=655>[<FONT=1>p<FONT=3>1<FONT=2><SP>→<SP>
  <FONT=1>e<FONT=3>1<FONT=2>;<SP><FONT=1>p<FONT=3>2<FONT=2><SP>→<SP>
  <FONT=1>e<FONT=3>2<FONT=2>;<SP>...<SP>;<SP><FONT=1>p<FONT=3>n<FONT=2>
  <SP><SP>→<SP><FONT=1>e<FONT=3>n<FONT=2>]<CR><LINESPACE 3>
<COLUMN=351><FONT=0>Each<COL INC 10><FONT=1>p<FONT=3>i<FONT=0>
  <COL INC 10>is<COL INC 11>an<COL INC 10>expression<COL INC 10>which
  <COL INC 11>takes<COL INC 10>on<COL INC 10>values<COL INC 11>in
  <COL INC 10>the<COL INC 10>set<COL INC 11><FONT=12>Tr<FONT=0>
  <COL INC 10>or<COL INC 10>gives<COL INC 11><FONT=8>B<FONT=0>;
  <COL INC 10>each<CR><LF>
<COLUMN=351><FONT=0><FONT=1>e<FONT=3>i<FONT=0><COL INC 19>is
  <COL INC 18>an<COL INC 19>expression<COL INC 18>which<COL INC 19>will
  <COL INC 18>give<COL INC 19>a<COL INC 18>value<COL INC 19>in
  <COL INC 18><FONT=12>S<FONT=3>1<FONT=0>.<COL INC 19>We<COL INC 18>will
  <COL INC 19>restrict<COL INC 18>the<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>20<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.5<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>conditional<COL INC 17>expression<COL INC 17>such
  <COL INC 16>that<COL INC 17>all<COL INC 17>the<COL INC 16><FONT=1>e
  <FONT=3>i<FONT=0><COL INC 17>must<COL INC 17>have<COL INC 16>values
  <COL INC 17>in<COL INC 17>the<COL INC 16><FONT=5>same<FONT=0><CR><LF>
<COLUMN=351><FONT=0>domain<SP>or<SP>be<SP><FONT=8>B<FONT=0>;<SP>i.e.
  <SP>all<SP>be<SP>in<SP><FONT=12><LB>sexpr<RB><FONT=0><SP>or<SP>all<SP>be
  <SP>in<SP><FONT=12>Tr<FONT=0>.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Assuming<COL INC 21>that<COL INC 21>an
  <COL INC 20>instance<COL INC 21>of<COL INC 21>a<COL INC 20>conditional
  <COL INC 21>expression<COL INC 21>meets<COL INC 20>this<CR><LF>
<COLUMN=351><FONT=0>restriction,<SP>the<SP>rule<SP>for<SP>evaluation
  <SP>is<SP>given<SP>by<SP>the<SP>following:<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=471>We<COL INC 15>evaluate<COL INC 15>the
  <COL INC 15><FONT=1>p<FONT=3>i<FONT=0>'s<COL INC 15>from<COL INC 15>left
  <COL INC 15>to<COL INC 15>right,<COL INC 15>finding<COL INC 16>the
  <COL INC 15><FONT=5>first<FONT=0><CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>which<COL INC 20>returns<COL INC 20>value
  <COL INC 20><FONT=13>t<FONT=0>.<COL INC 20><SP>When<COL INC 20>we
  <COL INC 20>find<COL INC 20>such<COL INC 20>a<COL INC 20><FONT=1>p
  <FONT=3>i<FONT=0>,<COL INC 19>we<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>evaluate<COL INC 31>the<COL INC 31>corresponding
  <COL INC 30><FONT=1>e<FONT=3>i<FONT=0>.<COL INC 31><SP>The
  <COL INC 31>value<COL INC 31>of<COL INC 30>the<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>conditional<COL INC 12>expression
  <COL INC 12>is<COL INC 12>the<COL INC 13>value<COL INC 12>computed
  <COL INC 12>by<COL INC 12>that<COL INC 13><FONT=1>e<FONT=3>i<FONT=0>;
  <COL INC 12>if<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>all<COL INC 11>of<COL INC 12>the
  <COL INC 11><FONT=1>p<FONT=3>i<FONT=0>'s<COL INC 12>evaluate
  <COL INC 11>to<COL INC 11><FONT=13>f<FONT=0><COL INC 12>then
  <COL INC 11>the<COL INC 12>conditional<COL INC 11>expression<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>gives<COL INC 15><FONT=8>B<FONT=0>.
  <COL INC 16><SP>The<COL INC 15>conditional<COL INC 16>expression
  <COL INC 15>also<COL INC 16>gives<COL INC 15><FONT=8>B<FONT=0>
  <COL INC 16>if<COL INC 15>we<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>come<COL INC 13>across<COL INC 12>a
  <COL INC 13><FONT=1>p<FONT=3>i<FONT=0><COL INC 12>which<COL INC 13>has
  <COL INC 13>value<COL INC 12><FONT=8>B<FONT=0><COL INC 13>before
  <COL INC 12>we<COL INC 13>reach<COL INC 13>a<COL INC 12><FONT=1>p
  <FONT=3>i<FONT=0><CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>with<SP>value<SP><FONT=13>t<FONT=0>.
  <CR><LINESPACE 20>
<COLUMN=351><FONT=0>For<SP><SP>example:<CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=607>[atom<SP>[A]<SP>→<SP>B;<SP>eq<SP>[A;(A
  <SP>.<SP>B)]<SP>→<SP>C]<SP>=<SP>B<CR><LINESPACE 20>
<COLUMN=351><FONT=0>Notice<COL INC 11>that<COL INC 11>the<COL INC 11>
  <FONT=1>p<FONT=3>2<FONT=0><COL INC 11>expression<COL INC 11>is
  <COL INC 11>undefined,<COL INC 11>but<COL INC 11>the<COL INC 11>conditional
  <COL INC 11>gives<COL INC 11>value<COL INC 10><FONT=2>B<FONT=0><CR><LF>
<COLUMN=351><FONT=0>since<SP><FONT=1>p<FONT=3>1<FONT=0><SP>gives<SP>value
  <SP><FONT=13>t<FONT=0>;<SP>this<SP>means<SP>that<SP>conditional<SP>expressions
  <SP>are<SP>non-strict.<CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=567>[eq<SP>[A;(A<SP>.<SP>B)]<SP>→<SP>C;
  <SP>atom<SP>[A]<SP>→<SP>B]<SP>=<SP><FONT=8>B<FONT=2><CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0>Here<SP>a<SP>reordering<SP>makes<SP>the<SP>evaluation
  <SP>return<SP><FONT=8>B<FONT=0>.<CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=567>[atom<SP>[(A<SP>.<SP>B)]<SP>→<SP>B;
  <CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=567><SP>eq<SP>[A<SP>;<SP>B]<SP>→<SP>C;
  <CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=567><SP>eq<SP>[car[(A<SP>.<SP>B)];<SP>cdr[(B
  <SP>.<SP>A)]]<SP>→<SP>E]<SP><SP><SP><SP>=<SP><SP><SP><SP>E<CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0>This<COL INC 20>example<COL INC 20>is<COL INC 20>more
  <COL INC 20>complex<COL INC 20>so,<COL INC 20>to<COL INC 20>improve
  <COL INC 20>readibility,<COL INC 20>we<COL INC 21>split<COL INC 20>the
  <CR><LF>
<COLUMN=351><FONT=0>conditional<COL INC 19>clauses<COL INC 18>across
  <COL INC 19>several<COL INC 18>lines.<COL INC 19>This<COL INC 18>stylistic
  <COL INC 19>formatting<COL INC 19>is<COL INC 18>called<CR><LF>
<COLUMN=351><FONT=0><FONT=1>pretty<SP>printing<FONT=0>.<CR>
  <LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=567>[eq<SP>[A;<SP>A]<SP>→<SP><FONT=13>t
  <FONT=2>;<SP>atom<SP>[A]<SP>→<SP><FONT=13>f<FONT=2>]<SP>=<SP>
  <FONT=13>t<FONT=2><CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=567>[eq<SP>[A;<SP>A]<SP>→<SP><FONT=13>t
  <FONT=2>;<SP>atom<SP>[A]<SP>→<SP>B]<SP>=<SP><FONT=8>B<FONT=2><CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0>Note<COL INC 12>that<COL INC 13>non-strictness
  <COL INC 12>is<COL INC 12>relative<COL INC 13>to<COL INC 12>a
  <COL INC 12>single<COL INC 13>domain;<COL INC 12>thus<COL INC 12>the
  <COL INC 13>last<COL INC 12>example<CR><LF>
<COLUMN=351><FONT=0>above<SP>gives<SP><FONT=8>B<FONT=0><SP>since<SP>it
  <SP>contains<SP><FONT=1>e<FONT=3>i<FONT=0>'s<SP>of<SP>differing<SP>domains.
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Frequently<COL INC 17>it<COL INC 17>is
  <COL INC 17>convenient<COL INC 17>to<COL INC 16>use<COL INC 17>a
  <COL INC 17>special<COL INC 17>form<COL INC 17>of<COL INC 17>the
  <COL INC 16>conditional<CR><LF>
<COLUMN=351><FONT=0>expression<COL INC 17>where<COL INC 17>the
  <COL INC 17>final<COL INC 17><FONT=1>p<FONT=3>n<FONT=0><COL INC 17>is
  <COL INC 17>guaranteed<COL INC 17>to<COL INC 17>be<COL INC 17>true.
  <COL INC 17>There<COL INC 17>are<COL INC 17>many<CR><LF>
<COLUMN=351><FONT=0>expressions<COL INC 23>which<COL INC 23>always
  <COL INC 22>evaluate<COL INC 23>to<COL INC 23><FONT=13>t<FONT=0>;
  <COL INC 22><SP><FONT=2>eq[1;1]<FONT=0><COL INC 23>is<COL INC 23>one.
  <COL INC 23><SP>The<COL INC 22>simplest<CR><LF>
<COLUMN=351><FONT=0>expression<SP>is<SP>the<SP>constant<SP><FONT=13>t
  <FONT=0>.<CR><LINESPACE 14>
<COLUMN=351><FONT=0><COLUMN=423>Consider<SP>the<SP>special<SP>form:
  <SP><SP><SP><SP><SP><FONT=2>[<FONT=1>p<FONT=3>1<FONT=2><SP><SP>→<SP>
  <FONT=1>e<FONT=3>1<FONT=2>;<SP>...;<SP><FONT=13>t<FONT=2><SP>→<SP>
  <FONT=1>e<FONT=3>n<FONT=2>]<CR><LINESPACE 14>
<COLUMN=351><FONT=0>If<COL INC 19>we<COL INC 19>know<COL INC 20>that
  <COL INC 19>the<COL INC 19>previous<COL INC 20><FONT=1>p<FONT=3>i
  <FONT=0>'s<COL INC 19>are<COL INC 19>either<COL INC 20>true
  <COL INC 19>or<COL INC 19>false,<FONT=7><SP>20<FONT=0><COL INC 20>the
  <COL INC 19>final<CR><LF>
<COLUMN=351><FONT=0><FONT=1>p<FONT=3>n<FONT=0><SP>→<SP><FONT=1>e
  <FONT=3>n<FONT=0>-case<COL INC 11>is<COL INC 11>a<COL INC 12>catch-all
  <COL INC 11>or<COL INC 11>otherwise-case<COL INC 11>which<COL INC 12>will
  <COL INC 11>be<COL INC 11>executed<COL INC 11>if<COL INC 12>none
  <COL INC 11>of<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 17>previous<COL INC 17><FONT=1>p
  <FONT=3>i<FONT=0>'s<COL INC 17>give<COL INC 17><FONT=13>t<FONT=0>.
  <COL INC 17><SP>Thus<COL INC 17>the<COL INC 16>use<COL INC 17>of
  <COL INC 17><FONT=13>t<FONT=0><COL INC 17>in<COL INC 17>this
  <COL INC 17>context<COL INC 17>can<COL INC 17>be<COL INC 16>read<CR><LF>
<COLUMN=351><FONT=0>"otherwise";<SP>and<SP>the<SP>conditional<SP>can
  <SP>be<SP>read:<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>20<FONT=0>We<SP>must<SP>also
  <SP>know<SP>that<SP>all<SP>the<SP><FONT=1>e<FONT=3>i<FONT=0>'s<SP>are
  <SP>elements<SP>of<SP>the<SP>same<SP>domain.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.5<COLUMN=805>Predicates<SP>and<SP>Conditional
  <SP>Expressions<SP><SP><SP><SP><SP>21<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=471>"If<SP><FONT=1>p<FONT=3>1<FONT=0><SP>is
  <SP>true<SP>then<SP><FONT=1>e<FONT=3>1<FONT=0>,<SP>else<SP>if<SP>
  <FONT=1>p<FONT=3>2<FONT=0><SP>is<SP>true<SP>then<SP>...,<SP>otherwise
  <SP><FONT=1>e<FONT=3>n<FONT=0>"<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>The<COL INC 16>introduction
  <COL INC 16>of<COL INC 16>conditional<COL INC 15>expressions
  <COL INC 16>has<COL INC 16>further<COL INC 16>widened<COL INC 15>the
  <CR><LF>
<COLUMN=351><FONT=0>gap<COL INC 16>between<COL INC 17>traditional
  <COL INC 16>mathematical<COL INC 17>theories<COL INC 16>and
  <COL INC 17>computational<COL INC 16>theories.<CR><LF>
<COLUMN=351><FONT=0>Previously<COL INC 10>we<COL INC 10>could
  <COL INC 10>almost<COL INC 10>side-step<COL INC 11>the<COL INC 10>issue
  <COL INC 10>of<COL INC 10>order<COL INC 10>of<COL INC 10>evaluation;
  <COL INC 11>it<COL INC 10>didn't<CR><LF>
<COLUMN=351><FONT=0>really<COL INC 11>matter<COL INC 11>unless
  <COL INC 11><FONT=8>B<FONT=0><COL INC 11>was<COL INC 11>involved.
  <COL INC 10>But<COL INC 11>now<COL INC 11>the<COL INC 11>very
  <COL INC 11>definition<COL INC 11>of<COL INC 10>meaning<CR><LF>
<COLUMN=351><FONT=0>of<SP>conditionals<SP>involves<SP>an<SP>order<SP>of
  <SP>evaluation.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>The<COL INC 13>order<COL INC 12>of
  <COL INC 13>evaluation<COL INC 12>is<COL INC 13>important<COL INC 12>from
  <COL INC 13>a<COL INC 13>computational<COL INC 12>viewpoint:<CR><LF>
<COLUMN=351><FONT=0>if<COL INC 12>we<COL INC 12>are<COL INC 12>going
  <COL INC 12>to<COL INC 12>give<COL INC 12>as<COL INC 13>value
  <COL INC 12>the<COL INC 12>leftmost<COL INC 12><FONT=1>e<FONT=3>i
  <FONT=0><COL INC 12>whose<COL INC 12><FONT=1>p<FONT=3>i<FONT=0>
  <COL INC 12>evaluates<COL INC 12>to<COL INC 13><FONT=13>t<FONT=0>,
  <COL INC 12>then<CR><LF>
<COLUMN=351><FONT=0>there<COL INC 12>is<COL INC 12>no<COL INC 13>need
  <COL INC 12>to<COL INC 12>compute<COL INC 12>any<COL INC 13>of
  <COL INC 12>the<COL INC 12>other<COL INC 12><FONT=1>e<FONT=3>j
  <FONT=0>'s;<COL INC 13>those<COL INC 12>values<COL INC 12>will
  <COL INC 13>never<COL INC 12>be<CR><LF>
<COLUMN=351><FONT=0>used.<COL INC 14><SP>A<COL INC 14>more
  <COL INC 13>pressing<COL INC 14>difficulty<COL INC 14>is<COL INC 13>that
  <COL INC 14>of<COL INC 14>partial<COL INC 13>functions.<COL INC 14>If
  <COL INC 14>we<COL INC 14>did<COL INC 13>not<CR><LF>
<COLUMN=351><FONT=0>impose<COL INC 17>an<COL INC 17>order<COL INC 17>of
  <COL INC 17>evaluation<COL INC 17>on<COL INC 17>the<COL INC 17>components
  <COL INC 17>of<COL INC 17>a<COL INC 18>conditional,<COL INC 17>then
  <CR><LF>
<COLUMN=351><FONT=0>frequently<COL INC 16>we<COL INC 16>would
  <COL INC 16>attempt<COL INC 16>to<COL INC 16>evaluate<COL INC 16>expressions
  <COL INC 16>which<COL INC 16>would<COL INC 16>lead<COL INC 15>to<CR><LF>
<COLUMN=351><FONT=0>undefined<COL INC 20>results:<COL INC 20><FONT=2>[eq[0;0]
  <SP>→<SP>1;<SP><FONT=13>t<FONT=2><SP>→<SP>car[A]]<FONT=0><COL INC 21>gives
  <COL INC 20><FONT=2>1<FONT=0><COL INC 20>using<COL INC 20>the
  <COL INC 21>meaning<COL INC 20>of<CR><LF>
<COLUMN=351><FONT=0>conditionals,<COL INC 11>whereas<COL INC 11>the
  <COL INC 11>expression<COL INC 11>would<COL INC 10>be<COL INC 11>undefined
  <COL INC 11>if<COL INC 11>we<COL INC 11>were<COL INC 10>required<CR><LF>
<COLUMN=351><FONT=0>to<COL INC 14>evaluate<COL INC 14><FONT=2>car[A]
  <FONT=0>.<COL INC 14>If<COL INC 14>we<COL INC 14>think<COL INC 14>of
  <COL INC 14>an<COL INC 14>occurrence<COL INC 14>of<COL INC 14>
  <FONT=8>B<FONT=0><COL INC 14>being<COL INC 14>mapped<COL INC 14>to
  <COL INC 13>an<CR><LF>
<COLUMN=351><FONT=0>error<COL INC 11>message,<COL INC 11>evaluating
  <COL INC 11><FONT=2>car[A]<FONT=0><COL INC 10>would<COL INC 11>cause
  <COL INC 11>termination<COL INC 11>of<COL INC 11>the<COL INC 10>computation.
  <CR><LF>
<COLUMN=351><FONT=0>But,<COL INC 18>if<COL INC 19>we<COL INC 18>continue
  <COL INC 19>to<COL INC 18>allow<COL INC 19><FONT=8>B<FONT=0>
  <COL INC 18>as<COL INC 18>an<COL INC 19>argument<COL INC 18>or
  <COL INC 19>value,<COL INC 18>then<COL INC 19>we<COL INC 18>can<CR><LF>
<COLUMN=351><FONT=0>characterize<COL INC 14>the<COL INC 14>effect
  <COL INC 15>of<COL INC 14>a<COL INC 14>conditional<COL INC 15>expression
  <COL INC 14>as<COL INC 14>a<COL INC 15><FONT=1>non-strict<FONT=0>
  <COL INC 14>function.<CR><LF>
<COLUMN=351><FONT=0>Recall,<COL INC 12>a<COL INC 12>non-strict
  <COL INC 12>function<COL INC 12>is<COL INC 12>allowed<COL INC 12>to
  <COL INC 12>return<COL INC 12>a<COL INC 12>value<COL INC 12>other
  <COL INC 12>than<COL INC 13><FONT=8>B<FONT=0><COL INC 12>when<CR><LF>
<COLUMN=351><FONT=0>one<COL INC 19>of<COL INC 19>its<COL INC 19>arguments
  <COL INC 19>is<COL INC 19><FONT=8>B<FONT=0>;<COL INC 19>or,
  <COL INC 19>put<COL INC 19>another<COL INC 19>way,<COL INC 19>we
  <COL INC 19>don't<COL INC 20>examine<COL INC 19>the<CR><LF>
<COLUMN=351><FONT=0>definedness<SP>of<SP>arguments<SP>before<SP>applying
  <SP>the<SP>function.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>For<COL INC 11>example,<COL INC 11>let
  <COL INC 12><FONT=2>if(x;y;z)<FONT=0><COL INC 11>be<COL INC 11>the
  <COL INC 12><FONT=1>conditional<COL INC 11>function<FONT=0>
  <COL INC 11><FONT=7><SP>21<FONT=0><COL INC 12>computed<COL INC 11>by:
  <CR><LF>
<COLUMN=351><FONT=0><FONT=2>[x<SP>→<SP>y;<SP><FONT=13>t<FONT=2><SP>→
  <SP>z]<FONT=0>.<SP><SP>We<SP>can<SP>define<SP><FONT=2>if<FONT=0><SP>as
  <SP>a<SP>non-strict<SP>function<SP>such<SP>that:<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=579><COLUMN=759><FONT=2>y<FONT=0><SP>if
  <SP><FONT=2>x<FONT=0><SP>is<SP><FONT=13>t<FONT=0><CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=579><FONT=2>if(x;y;z)<SP>=<COLUMN=759>z
  <FONT=0><SP>if<SP><FONT=2>x<FONT=0><SP>is<SP><FONT=13>f<FONT=0><CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=579><COLUMN=759><FONT=8>B<FONT=0><SP>if
  <SP><FONT=2>x<FONT=0><SP>is<SP><FONT=8>B<FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>However<COL INC 22>there<COL INC 22>is
  <COL INC 22>more<COL INC 23>to<COL INC 22>the<COL INC 22>"strictness"
  <COL INC 22>implied<COL INC 23>by<COL INC 22>conditional<CR><LF>
<COLUMN=351><FONT=0>expressions<COL INC 18>than<COL INC 18>just
  <COL INC 18>making<COL INC 18>sure<COL INC 18>that<COL INC 18>proper
  <COL INC 18>arguments<COL INC 18>are<COL INC 18>passed<COL INC 18>on
  <CR><LF>
<COLUMN=351><FONT=0>function<SP>calls.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Consider<SP>the<SP>following<SP>algorithm:
  <CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=642>one[x]<SP><LB>=<SP>[x=0<SP>→<SP>1;<SP>
  <FONT=13>t<FONT=2><SP><SP>→<SP>one[x-1]]<CR><LINESPACE 3>
<COLUMN=351><FONT=0>Assume<COL INC 16>that<COL INC 17><FONT=2>one
  <FONT=0><COL INC 16>is<COL INC 16>non-strict<COL INC 17>and
  <COL INC 16>assume<COL INC 16>the<COL INC 17>domain<COL INC 16>of
  <COL INC 16>discourse<COL INC 17>is<COL INC 16>the<CR><LF>
<COLUMN=351><FONT=0>integers.<COL INC 12><SP>That<COL INC 12>means,
  <COL INC 12><FONT=2>one<FONT=0><COL INC 11>will<COL INC 12>try
  <COL INC 12>to<COL INC 12>compute<COL INC 11>with<COL INC 12><FONT=5>any
  <FONT=0><COL INC 12>(integer)<COL INC 12>argument<COL INC 11>it<CR><LF>
<COLUMN=351><FONT=0>is<COL INC 21>given.<COL INC 21><SP>The
  <COL INC 21>algorithm<COL INC 21>for<COL INC 21><FONT=2>one<FONT=0>
  <COL INC 21>defines<COL INC 21>a<COL INC 21>function<COL INC 21>giving
  <COL INC 21><FONT=2>1<FONT=0><COL INC 21>for<COL INC 21>any<CR><LF>
<COLUMN=351><FONT=0>non-negative<COL INC 21>integer<COL INC 21>and
  <COL INC 22>is<COL INC 21>undefined<COL INC 21>for<COL INC 22>any
  <COL INC 21>other<COL INC 21>number.<COL INC 22>From<COL INC 21>a<CR><LF>
<COLUMN=351><FONT=0>computational<COL INC 20>point<COL INC 19>of
  <COL INC 20>view,<COL INC 19>however,<COL INC 20><FONT=2>one[-1]
  <FONT=0><COL INC 19>appears<COL INC 20>"undefined"<COL INC 20>in
  <COL INC 19>a<CR><LF>
<COLUMN=351><FONT=0>different<COL INC 12>sense<COL INC 12>from
  <COL INC 12><FONT=2>car[A]<FONT=0><COL INC 13>being<COL INC 12>"undefined".
  <COL INC 12>The<COL INC 12>computation<COL INC 13><FONT=2>one[-1]
  <FONT=0><COL INC 12>does<CR><LF>
<COLUMN=351><FONT=0>not<COL INC 12>terminate<COL INC 12>and
  <COL INC 12>is<COL INC 12>said<COL INC 12>to<COL INC 12><FONT=1>diverge
  <FONT=0>.<COL INC 12><SP>For<COL INC 12>a<COL INC 12>partial
  <COL INC 12>function<COL INC 12>like<COL INC 12><FONT=2>car<FONT=0>,
  <COL INC 13>we<COL INC 12>can<CR><LF>
<COLUMN=351><FONT=0>give<COL INC 17>an<COL INC 17>error<COL INC 17>message
  <COL INC 17>whenever<COL INC 17>we<COL INC 17>attempt<COL INC 17>to
  <COL INC 17>apply<COL INC 17>the<COL INC 17>function<COL INC 17>to
  <COL INC 17>an<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>21<FONT=0>Notice
  <COL INC 10>we<COL INC 10>are<COL INC 10>writing<COL INC 10>`(...)'
  <COL INC 11>rather<COL INC 10>than<COL INC 10>`[...]'<COL INC 10>since
  <COL INC 10>we<COL INC 10>are<COL INC 11>talking<COL INC 10>about<CR><LF>
<COLUMN=351><FONT=0>the<SP>function<SP>and<SP>not<SP>the<SP>algorithm.
  <SP>See<SP>page<SP>12.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>22<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.5<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>atomic<COL INC 24>argument,<COL INC 24>but
  <COL INC 24>we<COL INC 24>cannot<COL INC 25>expect<COL INC 24>to
  <COL INC 24>include<COL INC 24>tests<COL INC 24>like<COL INC 25>"if
  <COL INC 24>the<CR><LF>
<COLUMN=351><FONT=0>computation<COL INC 16><FONT=2>f[a]<FONT=0>
  <COL INC 16>does<COL INC 16>not<COL INC 16>terminate<COL INC 15>then
  <COL INC 16>give<COL INC 16>error<COL INC 16>No.<COL INC 16>15."
  <FONT=7><SP>22<FONT=0><COL INC 16>From<COL INC 15>the<CR><LF>
<COLUMN=351><FONT=0>purely<COL INC 11>functional<COL INC 11>point
  <COL INC 11>of<COL INC 11>view,<COL INC 11><FONT=2>one<FONT=0>
  <COL INC 11>still<COL INC 11>defines<COL INC 11>the<COL INC 11>partial
  <COL INC 11>function<COL INC 11>which<COL INC 10>is<CR><LF>
<COLUMN=351><FONT=0><FONT=2>1<FONT=0><COL INC 18>for<COL INC 18>the
  <COL INC 17>non-negative<COL INC 18>integers,<COL INC 18>but
  <COL INC 17>computationally<COL INC 18>there's<COL INC 18>an
  <COL INC 17>important<CR><LF>
<COLUMN=351><FONT=0>distinction<SP>to<SP>be<SP>made.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>So<COL INC 14>we<COL INC 14>see
  <COL INC 15>that<COL INC 14>a<COL INC 14>computation<COL INC 14>may
  <COL INC 15>be<COL INC 14>"undefined"<COL INC 14>for<COL INC 14>two
  <COL INC 15>reasons:<COL INC 14>it<CR><LF>
<COLUMN=351><FONT=0>involves<COL INC 17>a<COL INC 18>non-terminating
  <COL INC 17>computation<COL INC 17>or<COL INC 18>it<COL INC 17>involves
  <COL INC 17>applying<COL INC 18>a<COL INC 17>partial<CR><LF>
<COLUMN=351><FONT=0>function<COL INC 14>to<COL INC 14>a<COL INC 14>value
  <COL INC 14>not<COL INC 15>in<COL INC 14>its<COL INC 14>domain.
  <FONT=7><SP>23<FONT=0><COL INC 14>Note<COL INC 14>that<COL INC 14>the
  <COL INC 15>distinction<COL INC 14>between<CR><LF>
<COLUMN=351><FONT=0>"undefined"<COL INC 13>and<COL INC 13>"diverges"
  <COL INC 13>is<COL INC 14>fuzzy.<COL INC 13>If<COL INC 13>we
  <COL INC 13>restrict<COL INC 14>the<COL INC 13>domain<COL INC 13>of
  <COL INC 13><FONT=2>one<FONT=0><COL INC 14>to<COL INC 13>the<CR><LF>
<COLUMN=351><FONT=0>natural<COL INC 20>numbers,<COL INC 20>then
  <COL INC 20><FONT=2>one[-1]<FONT=0><COL INC 21>denotes<COL INC 20>
  <FONT=8>B<FONT=0><COL INC 20>rather<COL INC 20>than<COL INC 20>diverges.
  <COL INC 21>Or,<COL INC 20>put<CR><LF>
<COLUMN=351><FONT=0>another<COL INC 13>way,<COL INC 13>"undefined
  <COL INC 13>strictness"<COL INC 13>is<COL INC 13>a<COL INC 13>special
  <COL INC 13>case<COL INC 13>of<COL INC 14>"divergent<COL INC 13>strictness"
  <CR><LF>
<COLUMN=351><FONT=0>where<COL INC 14>we<COL INC 13>are<COL INC 14>able
  <COL INC 13>to<COL INC 14>predict<COL INC 13>which<COL INC 14>computations
  <COL INC 13>will<COL INC 14>not<COL INC 14>terminate.<COL INC 13>Those
  <CR><LF>
<COLUMN=351><FONT=0>cases<COL INC 15>can<COL INC 16>be<COL INC 15>checked
  <COL INC 15>by<COL INC 16>defining<COL INC 15>the<COL INC 16>function
  <COL INC 15>to<COL INC 15>be<COL INC 16>strict<COL INC 15>over
  <COL INC 16>a<COL INC 15>domain<CR><LF>
<COLUMN=351><FONT=0>which<COL INC 14>rules<COL INC 13>out<COL INC 14>those
  <COL INC 13>anomalies.<COL INC 14><SP>Thus<COL INC 14>a<COL INC 13>case
  <COL INC 14>can<COL INC 13>be<COL INC 14>made<COL INC 14>for
  <COL INC 13>identifying<CR><LF>
<COLUMN=351><FONT=0>divergent<COL INC 27>computations<COL INC 27>with
  <COL INC 27><FONT=8>B<FONT=0>;<COL INC 26>however<COL INC 27>there
  <COL INC 27>is<COL INC 27>typically<COL INC 27>more<COL INC 26>to<CR><LF>
<COLUMN=351><FONT=0>non-termination<SP>that<SP>just<SP>"wrong<SP>kind
  <SP>of<SP>arguments".<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 10>want<COL INC 11>to
  <COL INC 10>extend<COL INC 11>our<COL INC 10>discussion<COL INC 10>of
  <COL INC 11>strictness<COL INC 10>to<COL INC 11>encompass<COL INC 10>divergence.
  <CR><LF>
<COLUMN=351><FONT=0>Recall<COL INC 13>the<COL INC 12>discussion
  <COL INC 13>on<COL INC 13>page<SP>15<COL INC 12>of<COL INC 13>
  <FONT=2>second[x;<SP>y]<SP><LB>=<SP>y<FONT=0>.<COL INC 12><SP>Defining
  <COL INC 13><FONT=2>second<FONT=0><COL INC 13>to<COL INC 12>be<CR><LF>
<COLUMN=351><FONT=0>strict<COL INC 19>required<COL INC 19>that
  <COL INC 19>each<COL INC 20>application<COL INC 19>of<COL INC 19>
  <FONT=2>second<FONT=0><COL INC 19>determine<COL INC 20>whether
  <COL INC 19>either<CR><LF>
<COLUMN=351><FONT=0>argument<COL INC 22>denoted<COL INC 22><FONT=8>B
  <FONT=0>.<COL INC 22><SP>If<COL INC 22>we<COL INC 22>want<COL INC 22>
  <FONT=2>second<FONT=0><COL INC 22>to<COL INC 22>be<COL INC 22>strict
  <COL INC 22>with<COL INC 22>respect<COL INC 21>to<CR><LF>
<COLUMN=351><FONT=0>divergence,<COL INC 15>then<COL INC 15>we
  <COL INC 15>must<COL INC 16>test<COL INC 15>each<COL INC 15>argument
  <COL INC 15>for<COL INC 15>divergence.<COL INC 16>That<COL INC 15>implies
  <CR><LF>
<COLUMN=351><FONT=0>evaluation<COL INC 21>of<COL INC 21>each
  <COL INC 20>of<COL INC 21>the<COL INC 21>arguments,<COL INC 20>which
  <COL INC 21>in<COL INC 21>turn<COL INC 20>implies<COL INC 21>that
  <COL INC 21>if<COL INC 20>a<CR><LF>
<COLUMN=351><FONT=0>computation<COL INC 13>of<COL INC 13>an
  <COL INC 12>argument<COL INC 13>diverges,<COL INC 13>then<COL INC 12>the
  <COL INC 13>computation<COL INC 13>of<COL INC 13>the<COL INC 12>function
  <CR><LF>
<COLUMN=351><FONT=0>application<COL INC 16>must<COL INC 16>also
  <COL INC 16>diverge.<COL INC 16><SP>This<COL INC 16>implies
  <COL INC 16>that<COL INC 16>it<COL INC 16>is<COL INC 16>natural
  <COL INC 16>to<COL INC 15>associate<CR><LF>
<COLUMN=351><FONT=0>"strict<COL INC 11>with<COL INC 11>respect
  <COL INC 12>to<COL INC 11>divergence"<COL INC 11>with<COL INC 11>
  <FONT=1>CBV<FONT=0>,<COL INC 12>since<COL INC 11>in<COL INC 11>the
  <COL INC 11>process<COL INC 12>of<COL INC 11>checking<CR><LF>
<COLUMN=351><FONT=0>for<COL INC 11>termination,<COL INC 11>we
  <COL INC 11>must<COL INC 10>compute<COL INC 11>values.<COL INC 11>However
  <COL INC 11>if<COL INC 10>a<COL INC 11>function<COL INC 11>is
  <COL INC 11>strict<COL INC 10>then<CR><LF>
<COLUMN=351><FONT=0>calling<COL INC 13>style<COL INC 12>doesn't
  <COL INC 13>matter.<COL INC 13><SP>In<COL INC 12>contrast,
  <COL INC 13>a<COL INC 13>non-strict<COL INC 12>function<COL INC 13>does
  <COL INC 13>not<COL INC 12>check<CR><LF>
<COLUMN=351><FONT=0>arguments<COL INC 13>for<COL INC 13>divergence,
  <COL INC 12>and<COL INC 13>indeed<COL INC 13>the<COL INC 12>divergence
  <COL INC 13>of<COL INC 13>a<COL INC 13>computation<COL INC 12>may<CR><LF>
<COLUMN=351><FONT=0>depend<COL INC 17>on<COL INC 16>the<COL INC 17>calling
  <COL INC 16>style.<COL INC 17><SP>Consider<COL INC 16>the<COL INC 17>evaluation
  <COL INC 17>of<COL INC 16><FONT=2>second[one[-1];<SP>B]<FONT=0><CR><LF>
<COLUMN=351><FONT=0>where<COL INC 11><FONT=2>one<FONT=0><COL INC 11>is
  <COL INC 12>total<COL INC 11>over<COL INC 11>the<COL INC 11>integers.
  <COL INC 12>This<COL INC 11>evaluation<COL INC 11>will<COL INC 11>diverge
  <COL INC 12>under<COL INC 11><FONT=1>CBV<FONT=0><CR><LF>
<COLUMN=351><FONT=0>while<SP>it<SP>converges<SP>to<SP><FONT=2>B
  <FONT=0><SP>using<SP><FONT=1>CBN<FONT=0>.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 12>cannot<COL INC 12>require
  <COL INC 12>all<COL INC 12>our<COL INC 12>functions<COL INC 12>to
  <COL INC 12>be<COL INC 12>strict<COL INC 12>if<COL INC 12>we
  <COL INC 12>expect<COL INC 12>to<COL INC 12>do<COL INC 12>any<CR><LF>
<COLUMN=351><FONT=0>non-trivial<COL INC 10>computation.<COL INC 10>
  <SP>That<COL INC 10>is,<COL INC 10>we<COL INC 10>need<COL INC 10>a
  <COL INC 10>function<COL INC 10>which<COL INC 10>can<COL INC 11>determine
  <COL INC 10>its<CR><LF>
<COLUMN=351><FONT=0>value<COL INC 15>without<COL INC 15>computing
  <COL INC 15>the<COL INC 15>values<COL INC 15>of<COL INC 15>all
  <COL INC 15>of<COL INC 15>its<COL INC 15>arguments<COL INC 15>--a
  <COL INC 15>"don't<COL INC 14>care<CR><LF>
<COLUMN=351><FONT=0>condition"--.<COL INC 12><SP>The<COL INC 12>conditional
  <COL INC 12>function<COL INC 12>is<COL INC 11>such<COL INC 12>a
  <COL INC 12>non-strict<COL INC 12>function.<COL INC 12><SP>That
  <COL INC 11>is<CR><LF>
<COLUMN=351><FONT=0><FONT=2>if(<FONT=13>t<FONT=2>;q;r)<FONT=0>
  <COL INC 12>has<COL INC 11>value<COL INC 12><FONT=2>q<FONT=0>
  <COL INC 11>without<COL INC 12>knowing<COL INC 11>anything
  <COL INC 12>about<COL INC 11>what<COL INC 12>happens<COL INC 11>to
  <COL INC 12><FONT=2>r<FONT=0>.<COL INC 11><SP>In<CR><LF>
<COLUMN=351><FONT=0>particular,<COL INC 14><FONT=2>if(<FONT=13>t
  <FONT=2>;q;<FONT=8>B<FONT=2>)<SP>=<SP>q<FONT=0><COL INC 14>and
  <COL INC 14><FONT=2>if(<FONT=13>f<FONT=2>;<FONT=8>B<FONT=2>;r)<SP>=
  <SP>r<FONT=0>.<COL INC 14><SP>Now<COL INC 14>since<COL INC 14>
  <FONT=2>if<FONT=0><COL INC 14>is<COL INC 14>to<COL INC 14>be
  <COL INC 14>a<COL INC 14>function<CR><LF>
<COLUMN=351><FONT=0>and<COL INC 23>therefore<COL INC 23>single-valued,
  <COL INC 22>if<COL INC 23><FONT=2>if(<FONT=13>t<FONT=2>;q;<FONT=8>B
  <FONT=2>)<SP>=<SP>q<FONT=0><COL INC 23>then<COL INC 22>for
  <COL INC 23>any<COL INC 23>argument<COL INC 22><FONT=2>x<FONT=0>,<CR><LF>
<COLUMN=351><FONT=0><FONT=2>if(<FONT=13>t<FONT=2>;q;x)<SP>=<SP>q
  <FONT=0>.<COL INC 22><SP>Notice<COL INC 22>that<COL INC 21><FONT=8>B
  <FONT=0><COL INC 22>is<COL INC 22>now<COL INC 21>carrying<COL INC 22>an
  <COL INC 22>additional<COL INC 21>"don't-care"<CR><LF>
<COLUMN=351><FONT=0>interpretation;<COL INC 12>this<COL INC 12>is
  <COL INC 12>consistent<COL INC 12>with<COL INC 12>its<COL INC 12>previous
  <COL INC 12>meaning<COL INC 12>when<COL INC 12>we<COL INC 12>think
  <COL INC 11>of<CR><LF>
<COLUMN=351><FONT=0>the<SP>function<SP>being<SP>computed<SP>by<SP>the
  <SP>algorithm.<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>22<FONT=0>A<COL INC 16>discussion
  <COL INC 16>of<COL INC 16>such<COL INC 16>topics<COL INC 16>involves
  <COL INC 16>a<COL INC 16>description<COL INC 16>of<COL INC 17>the
  <COL INC 16>"halting<CR><LF>
<COLUMN=351><FONT=0>problem"<SP>for<SP>computational<SP>devices.<SP>See
  <SP>[Rog<SP>67]<SP>for<SP>details.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>23<FONT=0>Compare<SP>
  <FONT=6>w<FONT=0>-undefined<SP>and<SP>E-undefined<SP>in<SP>[Mor<SP>68].
  <CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.5<COLUMN=805>Predicates<SP>and<SP>Conditional
  <SP>Expressions<SP><SP><SP><SP><SP>23<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Even<COL INC 13>given<COL INC 14>that
  <COL INC 13>a<COL INC 14>computational<COL INC 13>definition
  <COL INC 13>is<COL INC 14>desired,<COL INC 13>there<COL INC 14>are
  <COL INC 13>other<CR><LF>
<COLUMN=351><FONT=0>plausible<COL INC 37>interpretations<COL INC 37>of
  <COL INC 37>conditionals.<COL INC 37><SP>Consider<COL INC 37>the
  <COL INC 37>definition:<CR><LF>
<COLUMN=351><FONT=0><FONT=2>g[x;y]<SP><LB>=<SP>[lic[x]<SP>→<SP>1;
  <FONT=13>t<FONT=2><SP>→<SP>1]<FONT=0>.<COL INC 15>Assuming
  <COL INC 15>that<COL INC 14><FONT=2>lic<FONT=0><COL INC 15>is
  <COL INC 15>a<COL INC 14>total<COL INC 15>predicate,<COL INC 15>any
  <COL INC 14>value<CR><LF>
<COLUMN=351><FONT=0>computed<COL INC 11>by<COL INC 11><FONT=2>g
  <FONT=0><COL INC 11>will<COL INC 11>be<COL INC 12><FONT=2>1<FONT=0>.
  <COL INC 11>But<COL INC 11>requiring<COL INC 11>left-to-right
  <COL INC 11>evaluation<COL INC 11>could<COL INC 12>spend<COL INC 11>a
  <CR><LF>
<COLUMN=351><FONT=0>great<COL INC 14>deal<COL INC 15>of<COL INC 14>unnecessary
  <COL INC 15>computation<COL INC 14>if<COL INC 15><FONT=2>lic<FONT=0>
  <COL INC 14>is<COL INC 15>a<COL INC 14><FONT=2>l<FONT=0>ong
  <COL INC 15><FONT=2>i<FONT=0>nvolved<COL INC 14><FONT=2>c<FONT=0>alculation.
  <CR><LF>
<COLUMN=351><FONT=0>One<COL INC 13>might<COL INC 14>further
  <COL INC 13>request<COL INC 14>that<COL INC 13><FONT=2>g[x;y]<FONT=0>
  <COL INC 13>give<COL INC 14><FONT=2>1<FONT=0><COL INC 13>even
  <COL INC 14>if<COL INC 13><FONT=2>lic<FONT=0><COL INC 14>is
  <COL INC 13>non-terminating.<CR><LF>
<COLUMN=351><FONT=0>Questions<COL INC 24>of<COL INC 24>evaluation
  <COL INC 24>are<COL INC 23>non-trivial.<COL INC 24>We<COL INC 24>will
  <COL INC 24>spend<COL INC 24>two<COL INC 23>chapters,<CR><LF>
<COLUMN=351><FONT=0>Chapter<SP>3<COL INC 23>and<COL INC 22>Chapter
  <SP>4,<COL INC 23>discussing<COL INC 22>LISP<COL INC 23>evaluation
  <COL INC 22>and<COL INC 23>its<COL INC 22>possible<CR><LF>
<COLUMN=351><FONT=0>alternatives.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>What<COL INC 11>benefits<COL INC 11>have
  <COL INC 12>resulted<COL INC 11>from<COL INC 11>our<COL INC 11>study
  <COL INC 12>of<COL INC 11><FONT=8>B<FONT=0><COL INC 11>and
  <COL INC 12>divergence?<COL INC 11><SP>We<CR><LF>
<COLUMN=351><FONT=0>should<COL INC 12>have<COL INC 12>a<COL INC 12>clearer
  <COL INC 12>understanding<COL INC 12>of<COL INC 12>the<COL INC 12>difference
  <COL INC 12>between<COL INC 12>function<COL INC 12>and<CR><LF>
<COLUMN=351><FONT=0>algorithm<COL INC 13>and<COL INC 13>a<COL INC 13>better
  <COL INC 13>grasp<COL INC 13>of<COL INC 13>the<COL INC 13>kinds
  <COL INC 13>of<COL INC 13>difficulties<COL INC 13>which<COL INC 13>can
  <COL INC 13>befall<COL INC 13>a<CR><LF>
<COLUMN=351><FONT=0>computation.<COL INC 16><SP>We<COL INC 16>have
  <COL INC 16>uncovered<COL INC 16>an<COL INC 16>important<COL INC 16>class
  <COL INC 16>of<COL INC 16>detectable<COL INC 16>errors.<CR><LF>
<COLUMN=351><FONT=0>The<COL INC 20>character<COL INC 20>of
  <COL INC 19>these<COL INC 20>miscreants<COL INC 20>is<COL INC 19>that
  <COL INC 20>they<COL INC 20>occur<COL INC 19>in<COL INC 20>the
  <COL INC 20>context<COL INC 19>of<CR><LF>
<COLUMN=351><FONT=0>supplying<COL INC 13>the<COL INC 14>wrong
  <COL INC 13><FONT=5>kind<FONT=0><COL INC 14>of<COL INC 13>argument
  <COL INC 14>to<COL INC 13>a<COL INC 14>function.<COL INC 13>This
  <COL INC 14>kind<COL INC 13>of<COL INC 14>error<COL INC 13>is<CR><LF>
<COLUMN=351><FONT=0>called<COL INC 10>a<COL INC 11><FONT=1>type
  <COL INC 10>fault<FONT=0>,<COL INC 10>meaning<COL INC 11>that
  <COL INC 10>we<COL INC 11>expected<COL INC 10>an<COL INC 10>argument
  <COL INC 11>of<COL INC 10>a<COL INC 11>specific<COL INC 10>type,<CR><LF>
<COLUMN=351><FONT=0>that<COL INC 11>is<COL INC 10>from<COL INC 11>a
  <COL INC 10>specific<COL INC 11>domain,<COL INC 11>and<COL INC 10>since
  <COL INC 11>it<COL INC 10>was<COL INC 11>not<COL INC 10>forthcoming,
  <COL INC 11>we<COL INC 11>refuse<COL INC 10>to<CR><LF>
<COLUMN=351><FONT=0>perform<COL INC 14>any<COL INC 14>kind
  <COL INC 14>of<COL INC 14>calculation.<COL INC 14>Thus<COL INC 14>
  <FONT=2>atom[<FONT=13>f<FONT=2>]<FONT=0><COL INC 14>and<COL INC 14>
  <FONT=2>cons[<FONT=13>t<FONT=2>;A]<FONT=0><COL INC 14>are<COL INC 13>undefined
  <CR><LF>
<COLUMN=351><FONT=0>since<COL INC 14>both<COL INC 14>expect
  <COL INC 14>elements<COL INC 14>of<COL INC 14><FONT=12>S<FONT=0>
  <COL INC 14>as<COL INC 14>arguments.<COL INC 14><SP>Divergent
  <COL INC 14>computations<COL INC 14>are<CR><LF>
<COLUMN=351><FONT=0>equally<COL INC 16>repugnant<COL INC 16>but
  <COL INC 16>there<COL INC 16>is<COL INC 17>no<COL INC 16>general
  <COL INC 16>method<COL INC 16>for<COL INC 16>testing<COL INC 17>whether
  <COL INC 16>an<CR><LF>
<COLUMN=351><FONT=0>arbitrary<SP>calculation<SP>will<SP>terminate.
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>This<COL INC 10>discussion
  <COL INC 11>concludes<COL INC 10>the<COL INC 11>applicative
  <COL INC 10>portion<COL INC 11>of<COL INC 10>LISP<COL INC 11>constructs.
  <COL INC 10><SP>It<CR><LF>
<COLUMN=351><FONT=0>may<COL INC 12>not<COL INC 12>seem<COL INC 12>like
  <COL INC 13>you<COL INC 12>can<COL INC 12>do<COL INC 12>much
  <COL INC 13>useful<COL INC 12>computation<COL INC 12>with<COL INC 12>such
  <COL INC 13>a<COL INC 12>limited<CR><LF>
<COLUMN=351><FONT=0>collection<COL INC 17>of<COL INC 18>operations
  <COL INC 17>as<COL INC 18>those<COL INC 17>proposed<COL INC 17>so
  <COL INC 18>far<COL INC 17>for<COL INC 18>LISP;<COL INC 17>there
  <COL INC 18>are<COL INC 17>no<CR><LF>
<COLUMN=351><FONT=0>assignment<COL INC 12>statements<COL INC 12>or
  <COL INC 12>explicit<COL INC 12>control<COL INC 12>constructs.
  <COL INC 12><SP>Things<COL INC 12>are<COL INC 12>not<COL INC 13>quite
  <COL INC 12>as<CR><LF>
<COLUMN=351><FONT=0>trivial<COL INC 11>as<COL INC 10>they<COL INC 11>might
  <COL INC 10>seem.<COL INC 11><SP>In<COL INC 10>elementary<COL INC 11>number
  <COL INC 10>theory<COL INC 11>all<COL INC 10>you<COL INC 11>have
  <COL INC 11>is<COL INC 10>zero<CR><LF>
<COLUMN=351><FONT=0>and<COL INC 20>some<COL INC 20>simple<COL INC 20>functions,
  <COL INC 21>and<COL INC 20>elementary<COL INC 20>number<COL INC 20>theory
  <COL INC 20>is<COL INC 21>far<COL INC 20>from<CR><LF>
<COLUMN=351><FONT=0>"elementary."<COL INC 28>Manipulation<COL INC 28>of
  <COL INC 27>our<COL INC 28>primitives,<COL INC 28>with<COL INC 28>composition,
  <COL INC 27>and<CR><LF>
<COLUMN=351><FONT=0>conditional<COL INC 21>expressions,<COL INC 20>coupled
  <COL INC 21>with<COL INC 21>techniques<COL INC 20>for<COL INC 21>definition
  <COL INC 21>can<COL INC 20><FONT=5>also<FONT=0><CR><LF>
<COLUMN=351><FONT=0>become<SP>complicated.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Let's<COL INC 12>apply<COL INC 12>the
  <COL INC 12>LISP<COL INC 12>constructs<COL INC 12>which<COL INC 12>we
  <COL INC 12>now<COL INC 12>have,<COL INC 12>and<COL INC 12>define
  <COL INC 12>a<COL INC 12>new<CR><LF>
<COLUMN=351><FONT=0>LISP<COL INC 16>function.<COL INC 17><SP>For
  <COL INC 16>example:<COL INC 16>our<COL INC 17>predicate<COL INC 16>
  <FONT=2>eq<FONT=0><COL INC 16>is<COL INC 17>defined<COL INC 16>only
  <COL INC 17>for<COL INC 16>atomic<CR><LF>
<COLUMN=351><FONT=0>arguments.<COL INC 14><SP>We<COL INC 15>would
  <COL INC 14>like<COL INC 15>to<COL INC 14>test<COL INC 15>for
  <COL INC 14>equality<COL INC 15>of<COL INC 14>arbitrary<COL INC 15>S-exprs.
  <COL INC 14><SP>What<CR><LF>
<COLUMN=351><FONT=0>should<COL INC 11>this<COL INC 12>more
  <COL INC 11>complex<COL INC 11>equality<COL INC 12>mean?<COL INC 11>
  <SP>By<COL INC 11>equality<COL INC 12>we<COL INC 11>mean:<COL INC 11>as
  <COL INC 12>trees,<COL INC 11>the<CR><LF>
<COLUMN=351><FONT=0>S-exprs<COL INC 13>have<COL INC 13>the
  <COL INC 13>same<COL INC 13>branching<COL INC 13>structure;
  <COL INC 13>and<COL INC 13>the<COL INC 14>corresponding<COL INC 13>terminal
  <CR><LF>
<COLUMN=351><FONT=0>nodes<COL INC 18>are<COL INC 17>labeled
  <COL INC 18>by<COL INC 17>the<COL INC 18>same<COL INC 17>atoms.
  <COL INC 18><SP>Thus,<COL INC 17>we<COL INC 18>would<COL INC 17>like
  <COL INC 18>to<COL INC 18>define<COL INC 17>a<CR><LF>
<COLUMN=351><FONT=0>predicate,<SP><FONT=2>equal<FONT=0>,<SP>such<SP>that:
  <CR><LINESPACE 34>
<COLUMN=351><FONT=2><COLUMN=675>equal[(A<SP>.<SP>B);(A<SP>.<SP>B)]
  <SP>=<SP><FONT=13>t<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=675>equal[A;A]<SP>=<SP><FONT=13>t<FONT=2>
  <CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=675>equal[(A<SP>.<SP>B);(B<SP>.<SP>A)]
  <SP>=<SP><FONT=13>f<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=675>equal[(A<SP>.<SP>(B<SP>.<SP>C));(A
  <SP>.<SP>(B<SP>.<SP>C))]<SP>=<SP><FONT=13>t<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=675>equal[(A<SP>.<SP>(B<SP>.<SP>C));((A
  <SP>.<SP>B)<SP>.<SP>C)]<SP>=<SP><FONT=13>f<FONT=2><CR><LINESPACE 20>
<COLUMN=351><FONT=0>Here's<SP>an<SP>informal<SP>description<SP>of<SP>the
  <SP><FONT=2>equal<FONT=0><SP>predicate.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>24<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.5<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><FONT=1>1.<FONT=0><SP><SP>If<COL INC 12>both
  <COL INC 12>arguments<COL INC 12>are<COL INC 12>atomic<COL INC 12>then
  <COL INC 12>see<COL INC 12>what<COL INC 12><FONT=2>eq<FONT=0>
  <COL INC 12>says<COL INC 12>about<COL INC 12>them.<COL INC 13><SP>We
  <COL INC 12>can<CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>test<SP>if<SP>they<SP>are<SP>both<SP>atomic
  <SP>by<SP>using<SP><FONT=2>atom<FONT=0><SP>and<SP>a<SP>conditional
  <SP>expression.<CR><LINESPACE 9>
<COLUMN=351><FONT=0><FONT=1>2.<FONT=0><SP><SP>If<SP>one<SP>is<SP>atomic
  <SP>and<SP>the<SP>other<SP>is<SP>not<SP>they<SP>can't<SP>be<SP>equal
  <SP>S-exprs.<CR><LINESPACE 9>
<COLUMN=351><FONT=0><FONT=1>3.<FONT=0><SP><SP>Otherwise<COL INC 13>both
  <COL INC 13>are<COL INC 13>non-atomic<COL INC 13>S-exprs.<COL INC 13>
  <SP>Both<COL INC 13>have<COL INC 13>two<COL INC 13>sub-expressions.
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>Look<COL INC 12>at<COL INC 11>both
  <COL INC 12>first<COL INC 11>subexpressions.<COL INC 12><SP>If
  <COL INC 11>these<COL INC 12>sub-expressions<COL INC 11>are
  <COL INC 12>not<COL INC 11>equal<CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>then<COL INC 23>the<COL INC 23>original
  <COL INC 23>expressions<COL INC 23>cannot<COL INC 22>be<COL INC 23>equal
  <COL INC 23>either.<COL INC 23><SP>If<COL INC 23>the<COL INC 22>first
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>subexpressions<COL INC 11><FONT=5>are
  <FONT=0><COL INC 10>equal<COL INC 11>then<COL INC 11>the<COL INC 10>question
  <COL INC 11>of<COL INC 11>whether<COL INC 10>or<COL INC 11>not
  <COL INC 11>the<COL INC 10>original<CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>expressions<COL INC 30>are
  <COL INC 31>equal<COL INC 30>depends<COL INC 31>on<COL INC 30>the
  <COL INC 31>equality<COL INC 30>of<COL INC 31>the<COL INC 30>second
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>subexpressions.<SP><SP>Thus<SP>the
  <SP>following<SP>definition:<CR><LINESPACE 20>
<COLUMN=351><FONT=2><SP><SP><SP><SP><SP>equal[x;y]<SP><LB>=<COLUMN=579>[atom[x]
  <SP>→<SP>[atom[y]<SP>→<SP>eq<SP>[x;y];<SP><FONT=13>t<FONT=2><SP>→<SP>
  <FONT=13>f<FONT=2>];<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=579><SP>atom[y]<SP>→<SP><FONT=13>f
  <FONT=2>;<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=579><SP>equal<SP>[car[x];car[y]]<SP>→<SP>equal[cdr[x];cdr[y]];
  <CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=579><SP><FONT=13>t<FONT=2><SP>→<SP>
  <FONT=13>f<FONT=2>]<CR><LINESPACE 20>
<COLUMN=351><FONT=0>Notice<COL INC 10>that<COL INC 10>the<COL INC 10>third
  <COL INC 10>informal<COL INC 10>clause<COL INC 10>translates
  <COL INC 10>into<COL INC 10>a<COL INC 10>LISP<COL INC 11>conditional
  <COL INC 10>clause<CR><LF>
<COLUMN=351><FONT=0>which<COL INC 10>involves<COL INC 11>applications
  <COL INC 10>of<COL INC 10>the<COL INC 11><FONT=2>equal<FONT=0>
  <COL INC 10>predicate<COL INC 10>itself.<COL INC 11>The<COL INC 10>use
  <COL INC 11>of<COL INC 10><FONT=1>recursive<FONT=0><CR><LF>
<COLUMN=351><FONT=0>definitions<SP>is<SP>an<SP>important<SP>and<SP>powerful
  <SP>programming<SP>tool.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Notice<COL INC 16>too<COL INC 16>that
  <COL INC 16>we<COL INC 16>use<COL INC 16>nested<COL INC 16>conditional
  <COL INC 16>expressions<COL INC 16>in<COL INC 16><FONT=2>equal
  <FONT=0>:<COL INC 16><FONT=1>e<FONT=3>1<FONT=0><COL INC 16>is<CR><LF>
<COLUMN=351><FONT=0>itself<COL INC 10>a<COL INC 11>conditional.
  <COL INC 10>Also<COL INC 11>we<COL INC 10>have<COL INC 11>used
  <COL INC 10>predicates<COL INC 10>in<COL INC 11>the<COL INC 10>
  <FONT=1>e<FONT=3>i<FONT=0><COL INC 11>positions<COL INC 10>at
  <COL INC 11><FONT=1>e<FONT=3>3<FONT=0><COL INC 10>and<CR><LF>
<COLUMN=351><FONT=0><FONT=1>e<FONT=3>11<FONT=0>;<SP>this<SP>is<SP>allowable,
  <SP>and<SP>in<SP>fact<SP>expected,<SP>since<SP><FONT=2>equal<FONT=0>
  <SP>is<SP>a<SP>predicate.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Let's<COL INC 17>show<COL INC 17>that
  <COL INC 17><FONT=2>equal<FONT=0><COL INC 17>does<COL INC 16>perform
  <COL INC 17>correctly<COL INC 17>for<COL INC 17>a<COL INC 17>specific
  <COL INC 16>example.<CR><LF>
<COLUMN=351><FONT=0>This<COL INC 16>will<COL INC 16>also<COL INC 16>show
  <COL INC 16>a<COL INC 16>complicated<COL INC 16>evaluation
  <COL INC 16>of<COL INC 16>a<COL INC 17>conditional<COL INC 16>expression.
  <CR><LF>
<COLUMN=351><FONT=0>We<COL INC 18>will<COL INC 18>use<COL INC 18>the
  <COL INC 18>call-by-value<COL INC 18>rules.<COL INC 18><SP>We
  <COL INC 18>will<COL INC 18>perform<COL INC 18>the<COL INC 18>evaluation
  <COL INC 18>by<CR><LF>
<COLUMN=351><FONT=0>substituting<COL INC 11>the<COL INC 11>evaluated
  <COL INC 10>actual<COL INC 11>parameters<COL INC 11>for<COL INC 10>the
  <COL INC 11>formal<COL INC 11>parameters<COL INC 11>in<COL INC 10>the
  <CR><LF>
<COLUMN=351><FONT=0>body<SP>of<SP>the<SP>definition.<SP>Then<SP>we
  <SP>will<SP>simplify<SP>the<SP>resulting<SP>expression.<FONT=7><SP>24
  <FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=647>equal[(A<SP>.<SP>B);(A<SP>.<SP>C)]
  <SP><FONT=0>reduces<SP>to:<FONT=2><CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=459>[atom[(A<SP>.<SP>B)]<SP>→<SP>[atom[(A
  <SP>.<SP>C)]<SP>→<SP>eq[(A<SP>.<SP>B);(A<SP>.<SP>C)];<SP><FONT=13>t
  <FONT=2><SP>→<SP><FONT=13>f<FONT=2>];<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=459><SP>atom[(A<SP>.<SP>C)]<SP>→<SP>
  <FONT=13>f<FONT=2>;<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=459><SP>equal[car[(A<SP>.<SP>B)];car[(A
  <SP>.<SP>C)]]<SP>→<SP>equal[cdr[(A<SP>.<SP>B)];cdr[(A<SP>.<SP>C)]];
  <CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=459><SP><FONT=13>t<FONT=2><SP>→<SP>
  <FONT=13>f<FONT=2>]<CR><LINESPACE 20>
<COLUMN=351><FONT=0>We<COL INC 12>find<COL INC 12>that<COL INC 12>
  <FONT=1>p<FONT=3>1<FONT=0><COL INC 11>(i.e.,<SP><FONT=2>atom[(A<SP>.
  <SP>B)]<FONT=0><SP>)<COL INC 12>and<COL INC 12><FONT=1>p<FONT=3>2
  <FONT=0><COL INC 12>(<SP><FONT=2>atom[(A<SP>.<SP>C)]<FONT=0><SP>)
  <COL INC 12>when<COL INC 11>evaluated<CR><LF>
<COLUMN=351><FONT=0>(in<COL INC 41>order)<COL INC 41>give<COL INC 41>
  <FONT=13>f<FONT=0>.<COL INC 41><SP>We<COL INC 40>must<COL INC 41>now
  <COL INC 41>evaluate<COL INC 41><FONT=1>p<FONT=3>3<FONT=0>,
  <COL INC 41>which<COL INC 40>is:<CR><LF>
<COLUMN=351><FONT=0><FONT=2>equal[car[(A<SP>.<SP>B)];car[(A<SP>.<SP>C)]]
  <FONT=0>.<SP><SP>This<SP>reduces<SP>to<SP><FONT=2>equal[A;A]<FONT=0>,
  <SP>and:<CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=423><SP><SP>equal[A;A]<SP>=<COLUMN=627>[atom[A]
  <SP>→<SP>[atom[A]<SP>→<SP>eq[A;A];<SP><FONT=13>t<FONT=2><SP>→<SP>
  <FONT=13>f<FONT=2>];<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=423><COLUMN=627><SP>atom[A]<SP>→<SP>
  <FONT=13>f<FONT=2>;<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=423><COLUMN=627><SP>equal[car[A];car[A]]
  <SP>→<SP>equal[cdr[A];cdr[A]];<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=423><COLUMN=627><SP><FONT=13>t<FONT=2>
  <SP>→<SP><FONT=13>f<FONT=2>]<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>24<FONT=0>This
  <COL INC 10>is<COL INC 10><FONT=5>not<FONT=0><COL INC 11>the
  <COL INC 10>method<COL INC 10>LISP<COL INC 11>uses<COL INC 10>to
  <COL INC 10>perform<COL INC 11>call-by<COL INC 10>value,<COL INC 10>but
  <COL INC 11>it<COL INC 10>has<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 11>same<COL INC 11>computational
  <COL INC 11>effect<COL INC 11>in<COL INC 11>most<COL INC 11>cases.
  <COL INC 11>The<COL INC 11>anomalous<COL INC 11>cases<COL INC 11>involve
  <COL INC 10>an<CR><LF>
<COLUMN=351><FONT=0>important<COL INC 19>area<COL INC 19>in
  <COL INC 20>language<COL INC 19>design.<COL INC 19>For<COL INC 20>example,
  <COL INC 19>how<COL INC 19>should<COL INC 20><FONT=2>f[2;3]<FONT=0>
  <COL INC 19>be<CR><LF>
<COLUMN=351><FONT=0>evaluated<SP>when<SP><FONT=2>f[x;y]<SP><LB>=<SP>+[x;[y;z]]
  <FONT=0><SP>?<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.5<COLUMN=805>Predicates<SP>and<SP>Conditional
  <SP>Expressions<SP><SP><SP><SP><SP>25<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>This<COL INC 14>conditional<COL INC 13>expression
  <COL INC 14>will<COL INC 14>evaluate<COL INC 13>to<COL INC 14>
  <FONT=13>t<FONT=0>.<COL INC 13>So<COL INC 14><FONT=1>p<FONT=3>3
  <FONT=0><COL INC 14>in<COL INC 13>the<COL INC 14>original<COL INC 14>call
  <COL INC 13>of<CR><LF>
<COLUMN=351><FONT=0><FONT=2>equal[(A<SP>.<SP>B);(A<SP>.<SP>C)]
  <FONT=0><COL INC 11>is<COL INC 10>true<COL INC 11>and<COL INC 11>we
  <COL INC 10>must<COL INC 11>evaluate<COL INC 11>the<COL INC 10>
  <FONT=1>e<FONT=3>3<FONT=0><COL INC 11>expression<COL INC 11>which
  <COL INC 10>is<CR><LF>
<COLUMN=351><FONT=0><FONT=2>equal[cdr[(A<SP>.<SP>B)];cdr[(A<SP>.<SP>C)]]
  <FONT=0>.<COL INC 14>That<COL INC 14>expression<COL INC 14>simplifies
  <COL INC 14>to<COL INC 15><FONT=2>equal[B;C]<FONT=0><COL INC 14>and
  <CR><LF>
<COLUMN=351><FONT=0>we<COL INC 13>call<COL INC 13><FONT=2>equal
  <FONT=0>.<COL INC 13><SP>After<COL INC 14>substitution<COL INC 13>and
  <COL INC 13>simplification<COL INC 13><FONT=2>equal<FONT=0>
  <COL INC 13>will<COL INC 14>finally<COL INC 13>return<CR><LF>
<COLUMN=351><FONT=0>value<COL INC 26><FONT=13>f<FONT=0>.<COL INC 25>That
  <COL INC 26>means<COL INC 25>that<COL INC 26><FONT=2>equal[(A<SP>.
  <SP>B);(A<SP>.<SP>C)]<FONT=0><COL INC 25>gives<COL INC 26><FONT=13>f
  <FONT=0>.<COL INC 26><SP>Notice<COL INC 25>that<CR><LF>
<COLUMN=351><FONT=0><FONT=2>eq[(A<SP>.<SP>B);(A<SP>.<SP>C)]<FONT=0>
  <COL INC 13>appeared<COL INC 13>but<COL INC 13>was<COL INC 13>never
  <COL INC 13>evaluated<COL INC 13>because<COL INC 13>of<COL INC 13>left-to-right
  <CR><LF>
<COLUMN=351><FONT=0>evaluation<SP>scheme<SP>of<SP>conditional<SP>expressions.
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Clearly,<COL INC 10>evaluation
  <COL INC 10>of<COL INC 10>LISP<COL INC 10>expressions<COL INC 10>in
  <COL INC 10>this<COL INC 10>amount<COL INC 10>of<COL INC 10>detail
  <COL INC 10>is<COL INC 10>not<COL INC 10>a<CR><LF>
<COLUMN=351><FONT=0>process<COL INC 11>which<COL INC 11>we
  <COL INC 11>wish<COL INC 11>to<COL INC 11>do<COL INC 11>very
  <COL INC 11>often<COL INC 11>by<COL INC 11>hand.<COL INC 11>Fortunately
  <COL INC 11>the<COL INC 11>process<COL INC 11>can<CR><LF>
<COLUMN=351><FONT=0>be<SP>executed<SP>by<SP>a<SP>machine.<CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Finally,<COL INC 21>to<COL INC 21>include
  <COL INC 21>conditional<COL INC 21>expressions<COL INC 21>in
  <COL INC 21>our<COL INC 21>syntax<COL INC 21>of<COL INC 20>LISP<CR><LF>
<COLUMN=351><FONT=0>expressions,<SP>we<SP>should<SP>add:<CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0><LB>form<RB><SP>::=<SP><LB>conditional<SP>expression<RB><CR>
  <LINESPACE 9>
<COLUMN=351><FONT=0>and<SP><LB>conditional<SP>expression<RB><SP>::=<SP>[<LB>form<RB>
  <SP>→<SP><LB>form<RB>;<SP>...;<SP><LB>form<RB><SP>→<SP><LB>form<RB>]<CR><LINESPACE 9>
<COLUMN=351><FONT=0>where<SP><LB>form<RB><SP>was<SP>defined<SP>on<SP>page
  <SP>17.<CR><LINESPACE 20>
<COLUMN=351><FONT=0>These<COL INC 17>syntax<COL INC 17>equations
  <COL INC 17>fail<COL INC 17>to<COL INC 17>capture<COL INC 17>all
  <COL INC 17>of<COL INC 17>our<COL INC 17>intended<COL INC 18>meaning.
  <COL INC 17>For<CR><LF>
<COLUMN=351><FONT=0>example,<COL INC 12>the<COL INC 13><LB>form<RB>s
  <COL INC 12>appearing<COL INC 12>in<COL INC 13>the<COL INC 12>
  <FONT=1>p<FONT=3>i<FONT=0>-position<COL INC 12>are<COL INC 13>restricted
  <COL INC 12>to<COL INC 13>be<COL INC 12>forms<CR><LF>
<COLUMN=351><FONT=0>taking<COL INC 14>values<COL INC 14>in
  <COL INC 14><FONT=12>Tr<FONT=0>,<COL INC 14>the<COL INC 14>truth
  <COL INC 14>domain.<COL INC 14>That<COL INC 14>restriction
  <COL INC 14>is<COL INC 14>not<COL INC 14>expressed<COL INC 14>in<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 16>equations,<COL INC 16>and
  <COL INC 16>indeed,<COL INC 16>is<COL INC 16>difficult<COL INC 16>to
  <COL INC 16>express<COL INC 16>naturally<COL INC 16>in<COL INC 16>such
  <COL INC 15>syntax<CR><LF>
<COLUMN=351><FONT=0>equations.<SP>See<SP>[Hop<SP>69]<SP>for<SP>a<SP>discussion
  <SP>of<SP>expressibility<SP>and<SP>grammars.<SP><SP><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=792><FONT=1>Problems<FONT=0><CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0>1.<SP><SP>Evaluate<SP>the<SP>following:<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=387><FONT=1>a.<FONT=2><SP>eq[X;Y]
  <COLUMN=843><FONT=1>b.<FONT=2><SP>cons[X;Y]<CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=387><FONT=1>c.<FONT=2><SP>car[(X<SP>.<SP>Y)]
  <COLUMN=843><FONT=1>d.<FONT=2><SP>car[cons[X;Y]]<CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=387><FONT=1>e.<FONT=2><SP>cadr[(X<SP>.(Y
  <SP>.<SP>NIL))]<COLUMN=843><FONT=1>f.<FONT=2><SP>cdar[(X<SP>.(Y<SP>.
  <SP>NIL))]<CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=387><FONT=1>g.<FONT=2><SP>eq[cdr[(A<SP>.
  <SP>B)];cdr[(C<SP>.<SP>B)]]<COLUMN=843><FONT=1>h.<FONT=2><SP>atom[cons[(A
  <SP>.<SP>B);(C<SP>.<SP>D)]]<CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=387><FONT=1>i.<FONT=2><SP>cons[atom[A];atom[(A
  <SP>.<SP>B)]]<COLUMN=843><FONT=1>j.<FONT=2><SP>eq[atom[ATOM];atom[EQ]]
  <CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=387><FONT=1>k.<FONT=2><SP>[<FONT=13>t
  <FONT=2><SP>→<SP>A;<SP><FONT=13>t<FONT=2><SP>→<SP>B]<COLUMN=843>
  <FONT=1>l.<FONT=2><SP>[<FONT=13>f<FONT=2><SP>→<SP>A;<SP><FONT=13>t
  <FONT=2><SP>→<SP>B]<SP><SP><SP><FONT=1>m.<FONT=2><SP>[eq[A;B]<SP>→
  <SP>4]<CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=387><FONT=1>n.<FONT=2><SP>[atom[X]<SP>→
  <SP>atom[X];<SP><FONT=13>t<FONT=2><SP>→<SP>FOO]<CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=387><FONT=1>o.<FONT=2><SP>[eq[EQ;<SP>X]
  <SP>→<SP>A;<SP>eq[A;<SP>B]<SP>→<SP>B;<SP><FONT=13>t<FONT=2><SP>→<SP>C]
  <CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=387><FONT=1>p.<FONT=2><SP>cons[[eq[A;<SP>B]
  <SP>→<SP>1;<SP><FONT=13>t<FONT=2><SP>→<SP>FOO];<SP>cons[A;<SP>cadr[(A
  <SP>.<SP>(B<SP>.<SP>C))]]]<CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=387><FONT=1>q.<FONT=2><SP>equal[(A<SP>.
  <SP>B);(A<SP>.<SP>B)]<COLUMN=843><FONT=1>r.<FONT=2><SP>eq[(A<SP>.<SP>B);(A
  <SP>.<SP>B)]<CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>2.<SP><SP>Consider<SP>the<SP>following<SP>definition:
  <CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=495><SP><SP>twist[s]<SP><LB>=<COLUMN=675>[atom[s]
  <SP>→<SP>s;<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=495><COLUMN=675><SP><FONT=13>t<FONT=2>
  <SP>→<SP>cons[twist[cdr[s]];twist[car[s]]]]<CR><LINESPACE 20>
<COLUMN=351><FONT=2><FONT=1>a<FONT=0>.<SP>Is<SP>the<SP>function<SP>partial
  <SP>or<SP>is<SP>it<SP>total?<SP>Now<SP>evaluate:<CR><LINESPACE 9>
<COLUMN=351><FONT=0><FONT=1>b.<FONT=2><SP>twist[A]<SP><SP><SP><SP>
  <SP><SP><FONT=1>c.<FONT=2><SP>twist[(A<SP>.<SP>B)]<SP><SP><SP><SP>
  <SP><SP><FONT=1>d.<FONT=2><SP>twist[((A<SP>.<SP>B)<SP>.<SP>C)]<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>26<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.5<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>3.<SP><SP>Now<SP>try:<CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=459>findem[x;y]<SP><LB>=<COLUMN=651>[atom[x]
  <SP>→<SP>[eq[x;y]<SP>→<SP>T;<SP><FONT=13>t<FONT=2><SP>→<SP>NIL];<CR>
  <LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=459><COLUMN=651><SP><FONT=13>t<FONT=2>
  <SP>→<SP>cons[findem[car[x];y];findem[cdr[x];y]]]<CR><LINESPACE 20>
<COLUMN=351><FONT=2><FONT=1>a<FONT=0>.<SP><SP>Is<SP>this<SP>function
  <SP>total?<SP>Now<SP>evaluate:<CR><LINESPACE 9>
<COLUMN=351><FONT=0><COLUMN=387><FONT=1>b.<FONT=2><SP>findem[(A<SP>.
  <SP>B);A]<COLUMN=759><FONT=1>c.<FONT=2><SP>findem[(B<SP>.(A<SP>.<SP>C));A]
  <CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=387><FONT=1>d.<FONT=2><SP>findem[(B<SP>.(A
  <SP>.<SP>C));C]<COLUMN=759><FONT=1>e.<FONT=2><SP>findem[(A<SP>.<SP>B);(A
  <SP>.<SP>B)]<CR><LF>
<CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=586><FONT=1>1.6<SP><SP>Sequences:<SP>Abstract
  <SP>Data<SP>Structures<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>In<COL INC 15>several<COL INC 15>areas
  <COL INC 15>of<COL INC 15>mathematics<COL INC 15>it<COL INC 15>is
  <COL INC 15>convenient<COL INC 15>to<COL INC 15>deal<COL INC 15>with
  <COL INC 15>sequences<COL INC 14>of<CR><LF>
<COLUMN=351><FONT=0>information.<COL INC 23>For<COL INC 24>example,
  <COL INC 23>a<COL INC 24>problem<COL INC 23>domain<COL INC 24>may
  <COL INC 23>be<COL INC 24>more<COL INC 23>naturally<CR><LF>
<COLUMN=351><FONT=0>described<COL INC 12>as<COL INC 12>ordered
  <COL INC 12>collections<COL INC 11>of<COL INC 12>numbers<COL INC 12>rather
  <COL INC 12>than<COL INC 12>individual<COL INC 11>numbers.<CR><LF>
<COLUMN=351><FONT=0>This<COL INC 19>may<COL INC 19>either<COL INC 19>simplify
  <COL INC 19>understanding<COL INC 19>of<COL INC 19>the<COL INC 19>problem
  <COL INC 19>or<COL INC 19>simplify<COL INC 18>the<CR><LF>
<COLUMN=351><FONT=0>formulation<COL INC 13>of<COL INC 14>the
  <COL INC 13>functions<COL INC 13>defined<COL INC 14>on<COL INC 13>the
  <COL INC 13>domain.<COL INC 14><SP>Several<COL INC 13>programming<CR><LF>
<COLUMN=351><FONT=0>languages<COL INC 12>include<COL INC 12>arrays
  <COL INC 11>as<COL INC 12>representations<COL INC 12>of<COL INC 11>these
  <COL INC 12>mathematical<COL INC 12>ideas.<COL INC 11><SP>We<CR><LF>
<COLUMN=351><FONT=0>should<COL INC 15>notice<COL INC 15>that
  <COL INC 15>sequences<COL INC 15>are<COL INC 15>data<COL INC 15>structures.
  <COL INC 15>We<COL INC 15>will<COL INC 15>have<COL INC 16>to
  <COL INC 15>describe<CR><LF>
<COLUMN=351><FONT=0>constructors,<COL INC 11>selectors,<COL INC 11>and
  <COL INC 10>recognizers<COL INC 11>for<COL INC 11>them.<COL INC 10>Subsequently
  <COL INC 11>we<COL INC 11>will<COL INC 10>explore<CR><LF>
<COLUMN=351><FONT=0>applications<SP>of<SP>sequences<SP>as<SP>data<SP>structures.
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>After<COL INC 15>a<COL INC 15>certain
  <COL INC 16>familiarity<COL INC 15>is<COL INC 15>gained<COL INC 16>in
  <COL INC 15>the<COL INC 15>application<COL INC 16>of<COL INC 15>algorithms
  <CR><LF>
<COLUMN=351><FONT=0>which<COL INC 14>manipulate<COL INC 14>sequences,
  <COL INC 13>we<COL INC 14>will<COL INC 14>discuss<COL INC 13>the
  <COL INC 14>problems<COL INC 14>of<COL INC 13>representation<CR><LF>
<COLUMN=351><FONT=0>and<COL INC 29>implementation<COL INC 28>of
  <COL INC 29>this<COL INC 28>data<COL INC 29>structure.<COL INC 28>We
  <COL INC 29>will<COL INC 28>first<COL INC 29>give<COL INC 28>an<CR><LF>
<COLUMN=351><FONT=0>implementation<COL INC 19>of<COL INC 19>sequences
  <COL INC 19>in<COL INC 19>terms<COL INC 19>of<COL INC 19>S-expressions.
  <COL INC 19>That<COL INC 19>is,<COL INC 19>we<COL INC 18>will<CR><LF>
<COLUMN=351><FONT=0>describe<COL INC 21>an<COL INC 20><FONT=8>r
  <FONT=0>-mapping<COL INC 21>giving<COL INC 20>a<COL INC 21>representation
  <COL INC 20>of<COL INC 21>sequences<COL INC 21>and<COL INC 20>their
  <CR><LF>
<COLUMN=351><FONT=0>primitive<COL INC 11>operations<COL INC 11>in
  <COL INC 11>terms<COL INC 11>of<COL INC 11>LISP's<COL INC 11>S-exprs
  <COL INC 11>and<COL INC 11>primitive<COL INC 12>functions.
  <COL INC 11>Still<CR><LF>
<COLUMN=351><FONT=0>later<COL INC 18>in<COL INC 18>Section<SP>7.2
  <COL INC 18>we<COL INC 18>will<COL INC 18>discuss<COL INC 18>low-level
  <COL INC 18>implementation<COL INC 18>of<COL INC 18>this<COL INC 17>data
  <CR><LF>
<COLUMN=351><FONT=0>structure<SP>in<SP>terms<SP>of<SP>conventional
  <SP>machines.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>But<COL INC 14>now<COL INC 13>we
  <COL INC 14>will<COL INC 13>study<COL INC 14>sequences<COL INC 13>as
  <COL INC 14>abstract<COL INC 13>data<COL INC 14>structures:
  <COL INC 14>what<COL INC 13>are<CR><LF>
<COLUMN=351><FONT=0>their<COL INC 14>essential<COL INC 14>structural
  <COL INC 14>characteristics?<COL INC 13><SP>What<COL INC 14>properties
  <COL INC 14>should<COL INC 14>be<COL INC 13>present<CR><LF>
<COLUMN=351><FONT=0>in<COL INC 14>a<COL INC 14>programming
  <COL INC 14>language<COL INC 14>to<COL INC 14>allow<COL INC 14>a
  <COL INC 14>natural<COL INC 14>and<COL INC 14>flexible<COL INC 14>representation?
  <CR><LF>
<COLUMN=351><FONT=0>This<COL INC 13>discussion<COL INC 13>will
  <COL INC 13>shed<COL INC 13>light<COL INC 13>on<COL INC 13>the
  <COL INC 13>important<COL INC 13>problems<COL INC 13>of<COL INC 13>representation
  <CR><LF>
<COLUMN=351><FONT=0>and<SP>abstraction.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>A<COL INC 10>sequence<COL INC 10>is
  <COL INC 10>an<COL INC 10>ordered<COL INC 11>set<COL INC 10>of
  <COL INC 10>elements.<FONT=7><SP>25<FONT=0><COL INC 10>For
  <COL INC 10>example,<COL INC 11><FONT=1>(x<FONT=3>1<FONT=1>,<SP>x
  <FONT=3>2<FONT=1>,<SP>x<FONT=3>3<FONT=1>)<FONT=0>,<COL INC 10>is<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 14>standard<COL INC 14>notation
  <COL INC 14>for<COL INC 14>a<COL INC 14>sequence<COL INC 14>of
  <COL INC 14>the<COL INC 14>three<COL INC 14>elements<COL INC 14>
  <FONT=1>x<FONT=3>1<FONT=1>,<COL INC 14>x<FONT=3>2<FONT=0>,
  <COL INC 14>and<COL INC 13><FONT=1>x<FONT=3>3<FONT=0>.<CR><LF>
<COLUMN=351><FONT=0>The<COL INC 14>length<COL INC 14>of<COL INC 14>a
  <COL INC 14>sequence<COL INC 14>is<COL INC 15>defined<COL INC 14>to
  <COL INC 14>be<COL INC 14>the<COL INC 14>number<COL INC 14>of
  <COL INC 14>elements<COL INC 15>in<COL INC 14>that<CR><LF>
<COLUMN=351><FONT=0>sequence.<COL INC 16><SP>We<COL INC 16>will
  <COL INC 16>allow<COL INC 17>sequences<COL INC 16>to<COL INC 16>have
  <COL INC 16>sub-sequences<COL INC 16>to<COL INC 17>an<COL INC 16>arbitrary
  <CR><LF>
<COLUMN=351><FONT=0>finite<COL INC 10>depth.<COL INC 10><SP>That
  <COL INC 11>is,<COL INC 10>the<COL INC 10>elements<COL INC 11>of
  <COL INC 10>a<COL INC 10>sequence<COL INC 11>will<COL INC 10>either
  <COL INC 10>be<COL INC 11>individuals<COL INC 10>or<CR><LF>
<COLUMN=351><FONT=0>may<COL INC 13>themselves<COL INC 13>be
  <COL INC 14>sequences.<COL INC 13>For<COL INC 13>example,<COL INC 13>a
  <COL INC 14>sequence<COL INC 13>of<COL INC 13>length<COL INC 13>
  <FONT=2>n<FONT=0>,<COL INC 14>each<COL INC 13>of<CR><LF>
<COLUMN=351><FONT=0>whose<COL INC 18>elements<COL INC 19>are
  <COL INC 18>sequences<COL INC 18>of<COL INC 19>length<COL INC 18>
  <FONT=2>m<FONT=0>,<COL INC 18>is<COL INC 19>a<COL INC 18>matrix.
  <COL INC 18><SP>Here<COL INC 19>are<COL INC 18>BNF<CR><LF>
<COLUMN=351><FONT=0>equations<SP>for<SP>sequences<SP>and<SP>their<SP>elements:
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>25<FONT=0>For<COL INC 16>an
  <COL INC 16>alternative<COL INC 17>description<COL INC 16>of
  <COL INC 16>sequences<COL INC 17>and<COL INC 16>a<COL INC 16>discussion
  <COL INC 17>of<COL INC 16>a<CR><LF>
<COLUMN=351><FONT=0>different<SP>view<SP>of<SP>data<SP>structures<SP>see
  <SP>page<SP>41.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.6<COLUMN=850>Sequences:<SP>Abstract
  <SP>Data<SP>Structures<SP><SP><SP><SP><SP>27<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><LB>seq<RB><COLUMN=567>::=<SP><FONT=1>(<FONT=0><SP><LB>seq
  <SP>elem<RB>,<SP>...,<LB>seq<SP>elem<RB><SP><FONT=1>)<FONT=0><SP><FONT=7><SP>26
  <FONT=0><CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>seq<SP>elem<RB><COLUMN=567>::=<SP><LB>indiv<RB><SP>|<SP><LB>seq<RB>
  <CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>indiv<RB><COLUMN=567>::<SP>=<SP><LB>literal<SP>indiv<RB>
  <SP>|<SP><LB>numeral<RB><SP>|<SP>-<LB>numeral<RB><CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>literal<SP>indiv<RB><COLUMN=567>::<SP>=<SP><LB>indiv
  <SP>letter<RB><CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=567>::<SP>=<SP><LB>literal<SP>indiv<RB><LB>indiv
  <SP>letter<RB><CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=567>::<SP>=<SP><LB>literal<SP>indiv<RB><LB>digit<RB>
  <CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>numeral<RB><COLUMN=567>::<SP>=<SP><LB>digit<RB><SP>|<SP><LB>numeral<RB><LB>digit<RB>
  <CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>indiv<SP>letter<RB><COLUMN=567>::<SP>=<FONT=1><SP>A
  <SP>|<SP>B<SP>|<SP>C<SP>...<SP>|<SP>Z<FONT=0><CR><LINESPACE 9>
<COLUMN=351><FONT=0><LB>digit<RB><COLUMN=567>::<SP>=<SP><FONT=1>0<SP>|<SP>1
  <SP>|<SP>2<SP>...<SP>|<SP>9<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>Notice<COL INC 13>that<COL INC 13>the<COL INC 13>structure
  <COL INC 14>of<COL INC 13><LB>indiv<RB><COL INC 13>is<COL INC 13>the
  <COL INC 14>same<COL INC 13>as<COL INC 13>that<COL INC 13>for
  <COL INC 14>LISP's<COL INC 13><LB>atom<RB>;<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 12>only<COL INC 12>difference
  <COL INC 12>is<COL INC 11>in<COL INC 12>the<COL INC 12>fonts
  <COL INC 12>used<COL INC 12>for<COL INC 11>letters<COL INC 12>and
  <COL INC 12>digits.<COL INC 12>We<COL INC 12>have<COL INC 11>made<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 14>distinction<COL INC 15>between
  <COL INC 14>LISP<COL INC 14>atoms<COL INC 15>and<COL INC 14>sequence
  <COL INC 15>individuals<COL INC 14>intentionally.<CR><LF>
<COLUMN=351><FONT=0>Thus<COL INC 16><FONT=1>(A,<SP>(B,<SP>C),<SP>D,
  <SP>(E,<SP>B))<FONT=0><COL INC 16>is<COL INC 16>a<COL INC 16>sequence
  <COL INC 15>of<COL INC 16>length<COL INC 16>four,<COL INC 16>whose
  <COL INC 16>second<COL INC 15>and<CR><LF>
<COLUMN=351><FONT=0>fourth<COL INC 12>elements<COL INC 12>are
  <COL INC 13>also<COL INC 12>sequences<COL INC 12>whose<COL INC 13>length
  <COL INC 12>is<COL INC 12>two.<COL INC 13><SP>We<COL INC 12>will
  <COL INC 12>use<COL INC 13>"<FONT=1>(<SP>)<FONT=0>"<COL INC 12>as<CR><LF>
<COLUMN=351><FONT=0>notation<SP>for<SP>the<SP>empty<SP>sequence.<CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 13>want<COL INC 13>to
  <COL INC 13>write<COL INC 14>LISP-like<COL INC 13>functions
  <COL INC 13>operating<COL INC 13>over<COL INC 13>sequences,
  <COL INC 14>so<COL INC 13>we<CR><LF>
<COLUMN=351><FONT=0>will<COL INC 10>at<COL INC 10>least<COL INC 11>need
  <COL INC 10>to<COL INC 10>give<COL INC 10>constructors,<COL INC 11>selectors,
  <COL INC 10>recognizers,<COL INC 10>and<COL INC 11>predicates
  <COL INC 10>for<CR><LF>
<COLUMN=351><FONT=0>sequences.<COL INC 12><SP>As<COL INC 12>in
  <COL INC 12>the<COL INC 11>case<COL INC 12>of<COL INC 12>S-exprs,
  <COL INC 12>we<COL INC 11>will<COL INC 12>include<COL INC 12>the
  <COL INC 12>undefined<COL INC 11>element,<CR><LF>
<COLUMN=351><FONT=0>and<SP>the<SP>full<SP>domain<SP>of<SP>sequences
  <SP>will<SP>be<SP>named<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=733><FONT=12>Seq<FONT=0><SP>=<SP>
  <FONT=12><LB>seq<RB><FONT=0>∪{<FONT=8>B<FONT=0>}<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>As<COL INC 11>on<COL INC 11>page<SP>18,
  <COL INC 11>we<COL INC 11>extend<COL INC 10>the<COL INC 11>primitive
  <COL INC 11>LISP<COL INC 11>operations<COL INC 11>to<COL INC 11>include
  <COL INC 10>this<CR><LF>
<COLUMN=351><FONT=0>new<SP>domain,<SP>by<SP>defining:<CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=752><FONT=12>S<FONT=3>2<FONT=0><SP>=<SP>
  <FONT=12>S<FONT=3>1<FONT=0>∪<FONT=12><LB>seq<RB><FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0>and<SP>extend<SP>each<SP>operation<SP>appropriately
  <SP>over<SP><FONT=12>S<FONT=3>2<FONT=0>.<SP>For<SP>example:<CR>
  <LINESPACE 34>
<COLUMN=351><FONT=2><COLUMN=759>atom[<FONT=1>A<FONT=2>]<SP>=<SP>
  <FONT=8>B<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=759>car[<FONT=1>A<FONT=2>]<SP>=<SP>
  <FONT=8>B<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=759>car[<FONT=1>(A,<SP>B)<FONT=2>]<SP>=
  <SP><FONT=8>B<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=759>cons[<FONT=1>A<FONT=0>;<SP><FONT=1>B
  <FONT=2>]<SP>=<SP><FONT=8>B<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=759>issexpr[<FONT=1>(A)<FONT=2>]<SP>=<SP>
  <FONT=13>f<FONT=2><CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 12>need<COL INC 11>to
  <COL INC 12>define<COL INC 12>some<COL INC 11>data<COL INC 12>structure
  <COL INC 11>operations<COL INC 12>specific<COL INC 12>to<COL INC 11>sequences.
  <CR><LF>
<COLUMN=351><FONT=0>What<COL INC 13>are<COL INC 12>the<COL INC 13>essential
  <COL INC 12>characteristics<COL INC 13>of<COL INC 12>a<COL INC 13>sequence?
  <COL INC 12>First,<COL INC 13>a<COL INC 13>sequence<COL INC 12>either
  <CR><LF>
<COLUMN=351><FONT=0>is<COL INC 10>empty<COL INC 10>or<COL INC 11>has
  <COL INC 10>elements.<COL INC 10>Thus<COL INC 11>we<COL INC 10>will
  <COL INC 10>want<COL INC 10>a<COL INC 11>predicate<COL INC 10>to
  <COL INC 10>test<COL INC 11>for<COL INC 10>emptyness.<CR><LF>
<COLUMN=351><FONT=0>Next,<COL INC 17>if<COL INC 16>the<COL INC 17>sequence
  <COL INC 16>is<COL INC 17>non-empty,<COL INC 16>we<COL INC 17>should
  <COL INC 16>be<COL INC 17>able<COL INC 16>to<COL INC 17>select
  <COL INC 16>elements.<CR><LF>
<COLUMN=351><FONT=0>Finally,<COL INC 16>given<COL INC 16>some
  <COL INC 16>elements,<COL INC 16>we<COL INC 16>should<COL INC 16>be
  <COL INC 16>able<COL INC 16>to<COL INC 16>build<COL INC 16>a
  <COL INC 16>new<COL INC 15>sequence<CR><LF>
<COLUMN=351><FONT=0>from<SP>them.<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>26<FONT=0>For<SP>the<SP>meaning
  <SP>of<SP>these<SP>ellipses<SP>see<SP>page<SP>17.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>28<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.6<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Predicates<COL INC 14>on<COL INC 14>sequences
  <COL INC 14>are<COL INC 14>like<COL INC 14>predicates<COL INC 14>on
  <COL INC 14>S-expressions,<COL INC 13>mapping<CR><LF>
<COLUMN=351><FONT=0>sequences<COL INC 19>to<COL INC 18>truth
  <COL INC 19>values<COL INC 18>in<COL INC 19><FONT=12>Tr<FONT=0>.
  <FONT=7><SP>27<FONT=0><COL INC 18>The<COL INC 19>basic<COL INC 18>predicate,
  <COL INC 19>which<COL INC 19>tests<COL INC 18>for<CR><LF>
<COLUMN=351><FONT=0>emptyness,<SP>is<SP>called<SP><FONT=2>null
  <FONT=0>.<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=459><COLUMN=615><FONT=13>t<FONT=0><SP>if
  <SP><FONT=2>x<FONT=0><SP>is<SP>the<SP>empty<SP>sequence,<SP><FONT=1>(
  <SP>)<FONT=0>.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=459><FONT=2>null[x]<FONT=0><SP>is
  <COLUMN=615><FONT=13>f<FONT=0><SP>if<SP><FONT=2>x<FONT=0><SP>is<SP>a
  <SP>non-empty<SP>sequence.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=459><COLUMN=615><FONT=8>B<FONT=0><SP>otherwise.
  <CR><LINESPACE 34>
<COLUMN=351><FONT=0><COLUMN=759><FONT=2>null[<FONT=1>(<SP>)<FONT=2>]
  <SP>=<SP><FONT=13>t<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=759>null[<FONT=1>(A,<SP>B)<FONT=2>]<SP>=
  <SP><FONT=13>f<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=759>null[<FONT=13>f<FONT=2>]<SP>=<SP>
  <FONT=8>B<FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0>Thus<COL INC 11><FONT=2>null<FONT=0><COL INC 10>gives
  <COL INC 11>usable<COL INC 10>values<COL INC 11>only<COL INC 10>for
  <COL INC 11>sequences.<COL INC 10><SP>Since<COL INC 11>we<COL INC 10>intend
  <COL INC 11>to<COL INC 10>operate<CR><LF>
<COLUMN=351><FONT=0>on<COL INC 11>domains<COL INC 11>which
  <COL INC 11>contain<COL INC 11>data<COL INC 11>structures<COL INC 11>other
  <COL INC 11>than<COL INC 11>sequences,<COL INC 11>we<COL INC 11>will
  <COL INC 11>need<CR><LF>
<COLUMN=351><FONT=0>a<COL INC 13>recognizer<COL INC 13>to<COL INC 13>be
  <COL INC 13>sure<COL INC 13>that<COL INC 13><FONT=2>null<FONT=0>
  <COL INC 13>is<COL INC 13>not<COL INC 13>applied<COL INC 13>to
  <COL INC 13>arguments<COL INC 13>which<COL INC 13>are<COL INC 12>
  <FONT=5>not<FONT=0><CR><LF>
<COLUMN=351><FONT=0>sequences.<SP><SP>We<SP>will<SP>name<SP>this<SP>recognizer
  <SP><FONT=2>isseq<FONT=0>.<CR><LINESPACE 34>
<COLUMN=351><FONT=0><COLUMN=723><FONT=2>isseq[<FONT=1>(A,<SP>B,<SP>C)
  <FONT=2>]<SP>=<SP><FONT=13>t<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=723>isseq[<FONT=1>A<FONT=2>]<SP>=<SP>
  <FONT=13>f<FONT=0><CR><LINESPACE 17>
<COLUMN=351><FONT=0><COLUMN=723><FONT=2>isseq[A]<SP>=<SP><FONT=13>f
  <FONT=0><CR><LINESPACE 17>
<COLUMN=351><FONT=0><COLUMN=723><FONT=2>isseq[<FONT=13>t<FONT=2>]<SP>=
  <SP><FONT=13>f<FONT=0><CR><LINESPACE 17>
<COLUMN=351><FONT=0><COLUMN=723><FONT=2>isseq[<FONT=1>(<SP>)<FONT=2>]
  <SP>=<SP><FONT=13>t<FONT=0><CR><LINESPACE 17>
<COLUMN=351><FONT=0><COLUMN=723><FONT=2>isseq[<FONT=8>B<FONT=2>]<SP>=
  <SP><FONT=8>B<FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0>The<COL INC 15>predicate<COL INC 15><FONT=2>isseq
  <FONT=0><COL INC 15>is<COL INC 15>total<COL INC 15>over<COL INC 15>all
  <COL INC 15>domains,<COL INC 15>whereas<COL INC 15><FONT=2>null
  <FONT=0><COL INC 15>is<COL INC 16>only<COL INC 15>partial:<CR><LF>
<COLUMN=351><FONT=0>total<SP>over<SP><FONT=12><LB>seq<RB><FONT=0>,<SP>but
  <SP>undefined<SP>for<SP>S-exprs.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>While<COL INC 15>on<COL INC 14>the
  <COL INC 15>subject<COL INC 14>of<COL INC 15>predicates,<COL INC 15>there
  <COL INC 14>are<COL INC 15>a<COL INC 14>couple<COL INC 15>more
  <COL INC 15>we<COL INC 14>shall<CR><LF>
<COLUMN=351><FONT=0>need.<COL INC 15><SP>The<COL INC 15>first
  <COL INC 15>one<COL INC 15>is<COL INC 15>a<COL INC 15>recognizer,
  <COL INC 15><FONT=2>isindiv<FONT=0>,<COL INC 15>which<COL INC 15>will
  <COL INC 15>give<COL INC 15>value<COL INC 15><FONT=13>t<FONT=0>
  <COL INC 15>if<COL INC 14>its<CR><LF>
<COLUMN=351><FONT=0>argument<COL INC 11>is<COL INC 11>an<COL INC 11>individual,
  <COL INC 11>give<COL INC 11><FONT=13>f<FONT=0><COL INC 11>if
  <COL INC 11>its<COL INC 11>argument<COL INC 11>is<COL INC 11>a
  <COL INC 11>sequence,<COL INC 11>and<COL INC 11>will<COL INC 11>give
  <CR><LF>
<COLUMN=351><FONT=0><FONT=8>B<FONT=0><SP>otherwise.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>The<COL INC 15>second<COL INC 16>predicate
  <COL INC 15>is<COL INC 15>the<COL INC 16>extension<COL INC 15>of
  <COL INC 15>the<COL INC 16>equality<COL INC 15>relation<COL INC 16>to
  <COL INC 15>the<CR><LF>
<COLUMN=351><FONT=0>class<COL INC 12>of<COL INC 12>sequence
  <COL INC 12>individuals.<COL INC 11>We<COL INC 12>shall<COL INC 12>use
  <COL INC 12>the<COL INC 12>same<COL INC 11>name,<COL INC 12><FONT=2>eq
  <FONT=0>,<COL INC 12>as<COL INC 12>we<COL INC 12>did<COL INC 11>for
  <CR><LF>
<COLUMN=351><FONT=0>the<COL INC 12>S-expression<COL INC 12>predicate.
  <COL INC 12><SP>In<COL INC 12>fact,<COL INC 12>whenever<COL INC 12>we
  <COL INC 12>define<COL INC 12>a<COL INC 12>new<COL INC 13>abstract
  <COL INC 12>data<CR><LF>
<COLUMN=351><FONT=0>type<COL INC 15>we<COL INC 14>will<COL INC 15>assume
  <COL INC 15>that<COL INC 14>an<COL INC 15>appropriate<COL INC 14>version
  <COL INC 15>of<COL INC 15><FONT=2>eq<FONT=0><COL INC 14>is
  <COL INC 15>available<COL INC 15>for<COL INC 14>the<CR><LF>
<COLUMN=351><FONT=0>elements<COL INC 14>of<COL INC 14>the<COL INC 14>base
  <COL INC 14>domain.<COL INC 14>One<COL INC 15>of<COL INC 14>our
  <COL INC 14>first<COL INC 14>tasks<COL INC 14>will<COL INC 14>be
  <COL INC 14>to<COL INC 15>extend<COL INC 14>that<CR><LF>
<COLUMN=351><FONT=0>equality<COL INC 13>relation<COL INC 13>to
  <COL INC 14>the<COL INC 13>whole<COL INC 13>domain.<COL INC 14>We
  <COL INC 13>will<COL INC 13>do<COL INC 14>so<COL INC 13>for
  <COL INC 13>sequences<COL INC 14>later<COL INC 13>in<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>27<FONT=0>The<COL INC 10>reason
  <COL INC 11>for<COL INC 10>restructuring<COL INC 10>LISP<COL INC 11>predicates
  <COL INC 10>might<COL INC 10>now<COL INC 11>be<COL INC 10>apparent
  <CR><LF>
<COLUMN=351><FONT=0>to<COL INC 11>previous<COL INC 10>users
  <COL INC 11>of<COL INC 10>LISP:<COL INC 11>if<COL INC 10>we
  <COL INC 11>mapped<COL INC 10>the<COL INC 11>truth<COL INC 10>values
  <COL INC 11>to<COL INC 10>the<COL INC 11>atoms<COL INC 11><FONT=2>T
  <FONT=0><COL INC 10>and<CR><LF>
<COLUMN=351><FONT=0><FONT=2>NIL<FONT=0><COL INC 25>as<COL INC 25>is
  <COL INC 25>typically<COL INC 25>done,<COL INC 25>then<COL INC 25>we'd
  <COL INC 25>have<COL INC 25>to<COL INC 25>map<COL INC 25>truth
  <COL INC 25>values<COL INC 25>of<CR><LF>
<COLUMN=351><FONT=0>sequence-predicates<COL INC 16>to<COL INC 16>representations
  <COL INC 16>as<COL INC 16>sequence<COL INC 16>elements,<COL INC 16>and
  <COL INC 16>we<COL INC 15>would<CR><LF>
<COLUMN=351><FONT=0>have<COL INC 21>to<COL INC 20>perpetuate
  <COL INC 21>that<COL INC 21>decision<COL INC 20>for<COL INC 21>every
  <COL INC 20>new<COL INC 21>abstract<COL INC 21>data<COL INC 20>structure
  <CR><LF>
<COLUMN=351><FONT=0>domain<SP>that<SP>we<SP>wanted<SP>to<SP>introduce.
  <CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.6<COLUMN=850>Sequences:<SP>Abstract
  <SP>Data<SP>Structures<SP><SP><SP><SP><SP>29<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>this<COL INC 11>section.<COL INC 11>Equality
  <COL INC 11>is<COL INC 11>a<COL INC 11>basic<COL INC 11>relation
  <COL INC 11>in<COL INC 11>mathematics<COL INC 11>so<COL INC 11>it
  <COL INC 11>is<COL INC 11>not<COL INC 11>surprising<CR><LF>
<COLUMN=351><FONT=0>to<COL INC 11>see<COL INC 11>it<COL INC 11>play
  <COL INC 11>an<COL INC 11>important<COL INC 11>role<COL INC 11>here.
  <COL INC 10><SP><FONT=2>eq<FONT=0><COL INC 11>is<COL INC 11>one
  <COL INC 11>of<COL INC 11>the<COL INC 11>few<COL INC 11>relations
  <COL INC 11>which<COL INC 10>we<CR><LF>
<COLUMN=351><FONT=0>shall<COL INC 16>define<COL INC 15>across
  <COL INC 16>all<COL INC 16>domains.<COL INC 15>Functions<COL INC 16>or
  <COL INC 16>predicates<COL INC 15>like<COL INC 16><FONT=2>eq<FONT=0>,
  <COL INC 16>which<COL INC 15>are<CR><LF>
<COLUMN=351><FONT=0>applicable<SP>on<SP>several<SP>domains,<SP>are
  <SP>called<SP><FONT=1>polymorphic<SP>functions<FONT=0>.<CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Next,<COL INC 12>the<COL INC 12>selectors
  <COL INC 12>for<COL INC 12>a<COL INC 11>(non-empty)<COL INC 12>sequence
  <COL INC 12>include:<COL INC 12><FONT=2>first<FONT=0>,<COL INC 12>
  <FONT=2>second<FONT=0>,<COL INC 11>etc,<CR><LF>
<COLUMN=351><FONT=0>where:<CR><LINESPACE 34>
<COLUMN=351><FONT=0><COLUMN=711><FONT=2>first[<FONT=1>(A,<SP>B,<SP>C)
  <FONT=2>]<SP>=<SP><FONT=1>A<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=711>second[<FONT=1>(A,<SP>B,<SP>C)
  <FONT=2>]<SP>=<SP><FONT=1>B<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=711>third[<FONT=1>(A,<SP>B)<FONT=2>]<SP>=
  <SP><FONT=8>B<FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0>It<SP>is<SP>also<SP>convenient<SP>to<SP>define
  <SP>an<SP>"all-but-first"<SP>selector,<SP>called<SP><FONT=2>rest
  <FONT=0>.<CR><LINESPACE 34>
<COLUMN=351><FONT=0><COLUMN=699><FONT=2>rest[<FONT=1>(A,<SP>B,<SP>C)
  <FONT=2>]<SP>=<SP><FONT=1>(B,<SP>C)<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=699>rest[<FONT=1>(B,<SP>C)<FONT=2>]<SP>=
  <SP><FONT=1>(C)<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=699>rest[<FONT=1>(C)<FONT=2>]<SP>=<SP>
  <FONT=1>(<SP>)<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=699>rest[<FONT=1>C<FONT=2>]<SP>=<SP>
  <FONT=8>B<FONT=0><CR><LINESPACE 17>
<COLUMN=351><FONT=0><COLUMN=699><FONT=2>rest[<FONT=1>(<SP>)<FONT=2>]
  <SP>=<SP><FONT=8>B<FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0>In<COL INC 10>conjunction<COL INC 10>with
  <COL INC 10><FONT=2>rest<FONT=0>,<COL INC 11>we<COL INC 10>shall
  <COL INC 10>utilize<COL INC 10>a<COL INC 11>constructor,<COL INC 10>
  <FONT=2>concat<FONT=0>,<COL INC 10>which<COL INC 10>is<COL INC 11>to
  <COL INC 10>add<CR><LF>
<COLUMN=351><FONT=0>a<SP>single<SP>element<SP>to<SP>the<SP>front<SP>of
  <SP>a<SP>sequence.<CR><LINESPACE 34>
<COLUMN=351><FONT=0><COLUMN=663><FONT=2>concat[<FONT=1>A<FONT=2>;
  <FONT=1>(B,C)<FONT=2>]<SP>=<SP><FONT=1>(A,<SP>B,<SP>C)<FONT=2><CR>
  <LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=663>concat[<FONT=1>A<FONT=2>;<FONT=1>(
  <SP>)<FONT=2>]<SP>=<SP><FONT=1>(A)<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=663>concat[<FONT=1>(A)<FONT=2>;<FONT=1>(B,C)
  <FONT=2>]<SP>=<SP><FONT=1>((A),<SP>B,<SP>C)<FONT=2><CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=663>concat[<FONT=1>(B,C)<FONT=2>;<FONT=1>A
  <FONT=2>]<SP>=<SP><FONT=8>B<FONT=0><CR><LINESPACE 17>
<COLUMN=351><FONT=0><COLUMN=663><FONT=2>concat[<FONT=1>A<FONT=2>;<SP>
  <FONT=1>B<FONT=2>]<SP>=<SP><FONT=8>B<FONT=0><CR><LF>
<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>The<COL INC 17>final<COL INC 17>constructor
  <COL INC 18>is<COL INC 17>called<COL INC 17><FONT=2>seq<FONT=0>;
  <COL INC 17>it<COL INC 18>takes<COL INC 17>an<COL INC 17>arbitrary
  <COL INC 18>number<COL INC 17>of<CR><LF>
<COLUMN=351><FONT=0>sequence<COL INC 14>elements<COL INC 14>as
  <COL INC 15>arguments<COL INC 14>and<COL INC 14>returns<COL INC 15>a
  <COL INC 14>sequence<COL INC 14>consisting<COL INC 15>of<COL INC 14>those
  <CR><LF>
<COLUMN=351><FONT=0>elements<COL INC 16>(in<COL INC 16>the
  <COL INC 16>obvious<COL INC 16>order).<COL INC 16><SP>Let<COL INC 16>
  <FONT=8>α<FONT=3>1<FONT=0>,<SP>...,<SP><FONT=8>α<FONT=3>n<FONT=0>
  <COL INC 16>be<COL INC 16>elements<COL INC 16>of<COL INC 16><LB>seq
  <COL INC 15>elem<RB>,<CR><LF>
<COLUMN=351><FONT=0>then:<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=657>seq[<FONT=8>α<FONT=3>1<FONT=2>;<SP>
  <FONT=8>α<FONT=3>2<FONT=2>;<SP>...;<SP><FONT=8>α<FONT=3>n<FONT=2>]
  <SP>=<SP><FONT=1>(<FONT=8>α<FONT=3>1<FONT=1>,<SP>...,<SP><FONT=8>α
  <FONT=3>n<FONT=1>)<FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>One<COL INC 11>question<COL INC 11>may
  <COL INC 11>have<COL INC 10>come<COL INC 11>to<COL INC 11>mind:
  <COL INC 11>how<COL INC 10>do<COL INC 11>we<COL INC 11>know
  <COL INC 11>when<COL INC 11>we<COL INC 10>have<CR><LF>
<COLUMN=351><FONT=0>a<COL INC 21>sufficient<COL INC 21>set
  <COL INC 21>of<COL INC 21>functions<COL INC 22>for<COL INC 21>the
  <COL INC 21>manipulation<COL INC 21>of<COL INC 21>an<COL INC 22>abstract
  <COL INC 21>data<CR><LF>
<COLUMN=351><FONT=0>structure?<COL INC 10><SP>How<COL INC 11>do
  <COL INC 10>we<COL INC 10>know<COL INC 11>we<COL INC 10>haven't
  <COL INC 11>left<COL INC 10>some<COL INC 10>crucial<COL INC 11>functions
  <COL INC 10>out?<COL INC 11>If<COL INC 10>we<CR><LF>
<COLUMN=351><FONT=0>have<COL INC 11>enough,<COL INC 11>how
  <COL INC 11>do<COL INC 11>we<COL INC 11>know<COL INC 11>that
  <COL INC 11>we<COL INC 11>haven't<COL INC 11>included<COL INC 11>too
  <COL INC 11>many?<COL INC 11>Actually,<CR><LF>
<COLUMN=351><FONT=0>this<COL INC 18>second<COL INC 18>case
  <COL INC 17>isn't<COL INC 18>disastrous,<COL INC 18>but<COL INC 17>when
  <COL INC 18>implementing<COL INC 18>the<COL INC 18>functions
  <COL INC 17>it<CR><LF>
<COLUMN=351><FONT=0>would<COL INC 15>be<COL INC 14>nice<COL INC 15>to
  <COL INC 14>minimize<COL INC 15>the<COL INC 14>number<COL INC 15>of
  <COL INC 14>primitives<COL INC 15>we<COL INC 14>have<COL INC 15>to
  <COL INC 14>program.<CR><LF>
<COLUMN=351><FONT=0>These<COL INC 10>problems<COL INC 10>are
  <COL INC 11>worthy<COL INC 10>of<COL INC 10>study<COL INC 10>and
  <COL INC 11>are<COL INC 10>the<COL INC 10>concern<COL INC 10>of
  <COL INC 11>anyone<COL INC 10>interested<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>30<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.6<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>in<COL INC 18>the<COL INC 17>design<COL INC 18>of
  <COL INC 17>programming<COL INC 18>languages.<COL INC 17>We
  <COL INC 18>will<COL INC 17>say<COL INC 18>a<COL INC 17>bit
  <COL INC 18>more<COL INC 17>about<CR><LF>
<COLUMN=351><FONT=0>solutions<SP>to<SP>these<SP>questions<SP>beginning
  <SP>on<SP>page<SP>36.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Notice<COL INC 16>that<COL INC 16>we
  <COL INC 16>have<COL INC 16>been<COL INC 16>describing<COL INC 16>the
  <COL INC 16>sequence<COL INC 17>functions<COL INC 16>without<CR><LF>
<COLUMN=351><FONT=0>regard<COL INC 12>to<COL INC 12>any<COL INC 12>underlying
  <COL INC 12>representation.<COL INC 12><SP>We<COL INC 12>have
  <COL INC 12>said<COL INC 12>nothing<COL INC 13>about<COL INC 12>these
  <CR><LF>
<COLUMN=351><FONT=0>sequence<COL INC 15>operations<COL INC 15>except
  <COL INC 15>that<COL INC 15>they<COL INC 15>construct,<COL INC 15>test,
  <COL INC 15>or<COL INC 15>select.<COL INC 15><SP>We<COL INC 14>consider
  <CR><LF>
<COLUMN=351><FONT=0>sequences<COL INC 12>as<COL INC 12>abstract
  <COL INC 12>data<COL INC 13>structures,<COL INC 12>suitable
  <COL INC 12>for<COL INC 12>manipulation<COL INC 13>by<COL INC 12>LISP-like
  <CR><LF>
<COLUMN=351><FONT=0>algorithms;<COL INC 16>we<COL INC 16>define
  <COL INC 15>algorithms<COL INC 16>over<COL INC 16>the<COL INC 15>domain
  <COL INC 16>of<COL INC 16>sequences,<COL INC 16>using<COL INC 15>the
  <CR><LF>
<COLUMN=351><FONT=0>primitive<COL INC 12>operations,<COL INC 13>conditional
  <COL INC 12>expressions,<COL INC 13>and<COL INC 12>recursion.
  <COL INC 13><SP>How<COL INC 12>sequences<CR><LF>
<COLUMN=351><FONT=0>are<COL INC 21>represented<COL INC 21>as
  <COL INC 22>S-exprs<COL INC 21>or<COL INC 21>represented<COL INC 22>on
  <COL INC 21>a<COL INC 21>machine,<COL INC 22>is<COL INC 21>irrelevant.
  <CR><LF>
<COLUMN=351><FONT=0>Sequences<COL INC 24>have<COL INC 24>certain
  <COL INC 24>inherent<COL INC 24>structural<COL INC 24>properties
  <COL INC 24>and<COL INC 24>it<COL INC 25>is<COL INC 24>those<CR><LF>
<COLUMN=351><FONT=0>properties<COL INC 22>which<COL INC 23>we
  <COL INC 22>must<COL INC 23>understand<COL INC 22><FONT=5>before
  <FONT=0><COL INC 23>we<COL INC 22>begin<COL INC 23>thinking
  <COL INC 22>about<CR><LF>
<COLUMN=351><FONT=0>representation.<COL INC 12><SP>In<COL INC 13>the
  <COL INC 12>next<COL INC 12>section<COL INC 13>we<COL INC 12>will
  <COL INC 12>show<COL INC 13>how<COL INC 12>to<COL INC 13>represent
  <COL INC 12>sequences<CR><LF>
<COLUMN=351><FONT=0>as<COL INC 12>certain<COL INC 12>S-expressions
  <COL INC 12>and<COL INC 12>sequence<COL INC 11>operations<COL INC 12>as
  <COL INC 12>LISP<COL INC 12>operations<COL INC 12>on<COL INC 11>that
  <CR><LF>
<COLUMN=351><FONT=0>representation.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Let's<COL INC 20>develop<COL INC 19>some
  <COL INC 20>expertise<COL INC 19>in<COL INC 20>manipulating
  <COL INC 19>sequences.<COL INC 20><SP>The<COL INC 19>first<CR><LF>
<COLUMN=351><FONT=0>example<COL INC 19>will<COL INC 19>be<COL INC 19>an
  <COL INC 19>extension<COL INC 19>of<COL INC 19>the<COL INC 19>equality
  <COL INC 19>relation<COL INC 19>to<COL INC 19>sequences.<COL INC 18>We
  <CR><LF>
<COLUMN=351><FONT=0>perpetuate<COL INC 18>the<COL INC 19>name
  <COL INC 18><FONT=2>equal<FONT=0><COL INC 19>from<COL INC 18>S-exprs,
  <COL INC 19>and<COL INC 18>the<COL INC 19>basic<COL INC 18>structure
  <COL INC 19>of<COL INC 18>the<CR><LF>
<COLUMN=351><FONT=0>definition<COL INC 19>will<COL INC 18>parallel
  <COL INC 19>that<COL INC 19>of<COL INC 18>its<COL INC 19>namesake;
  <COL INC 19>but<COL INC 18>the<COL INC 19>components<COL INC 19>of
  <COL INC 18>the<CR><LF>
<COLUMN=351><FONT=0>definition<COL INC 12>will<COL INC 13>involve
  <COL INC 12>sequence<COL INC 13>operations<COL INC 12>rather
  <COL INC 13>than<COL INC 12>S-expr<COL INC 13>operations.<COL INC 12>It
  <CR><LF>
<COLUMN=351><FONT=0>will<COL INC 12>be<COL INC 12>of<COL INC 12>value
  <COL INC 12>to<COL INC 12>compare<COL INC 12>the<COL INC 12>two
  <COL INC 12>predicates.<COL INC 12><SP>The<COL INC 12>S-expr
  <COL INC 12>version<COL INC 12>is<COL INC 12>to<COL INC 12>be<CR><LF>
<COLUMN=351><FONT=0>found<SP>on<SP>page<SP>24.<CR><LINESPACE 20>
<COLUMN=351><FONT=2><SP><SP><SP><SP><SP>equal[x;y]<SP><LB>=<COLUMN=567>[isindiv[x]
  <SP>→<SP>[isindiv[y]<SP>→<SP>eq[x;y];<SP><FONT=13>t<FONT=2><SP>→<SP>
  <FONT=13>f<FONT=2>];<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=567><SP>isindiv[y]<SP>→<SP><FONT=13>f
  <FONT=2>;<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=567><SP>null[x]<SP>→<SP>[null[y]<SP>→<SP>
  <FONT=13>t<FONT=2>;<SP><FONT=13>t<FONT=2><SP>→<SP><FONT=13>f<FONT=2>];
  <CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=567><SP>null[y]<SP>→<SP><FONT=13>f
  <FONT=2>;<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=567><SP>equal[first[x];first[y]]<SP>→<SP>equal[rest[x];rest[y]];
  <CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=567><SP><FONT=13>t<FONT=2><SP>→<SP>
  <FONT=13>f<FONT=2>]<CR><LINESPACE 20>
<COLUMN=351><FONT=0>This<COL INC 24><FONT=2>equal<FONT=0><COL INC 24>works
  <COL INC 24>on<COL INC 24>sequences<COL INC 24>and<COL INC 24>sequence
  <COL INC 24>elements<COL INC 24>as<COL INC 24>its<COL INC 24>S-expr
  <CR><LF>
<COLUMN=351><FONT=0>counterpart<SP>worked<SP>on<SP>dotted<SP>pairs
  <SP>and<SP>atoms.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Next,<COL INC 12>we<COL INC 12>will
  <COL INC 12>write<COL INC 12>a<COL INC 12>predicate<COL INC 12>
  <FONT=2>member<FONT=0><COL INC 12>of<COL INC 12>two<COL INC 12>arguments
  <COL INC 12><FONT=2>x<FONT=0><COL INC 12>and<COL INC 12><FONT=2>y
  <FONT=0>.<COL INC 12><SP><FONT=2>x<FONT=0><COL INC 11>is<CR><LF>
<COLUMN=351><FONT=0>to<COL INC 13>be<COL INC 13>an<COL INC 13>individual;
  <COL INC 13><FONT=2>y<FONT=0><COL INC 13>is<COL INC 13>to<COL INC 13>be
  <COL INC 12>a<COL INC 13>sequence;<COL INC 13><FONT=2>member<FONT=0>
  <COL INC 13>is<COL INC 13>to<COL INC 13>return<COL INC 13><FONT=13>t
  <FONT=0><COL INC 13>just<COL INC 13>in<COL INC 12>the<CR><LF>
<COLUMN=351><FONT=0>case<COL INC 12>that<COL INC 11><FONT=2>x<FONT=0>
  <COL INC 12>is<COL INC 11>an<COL INC 12>element<COL INC 11>of
  <COL INC 12>the<COL INC 11>sequence<COL INC 12><FONT=2>y<FONT=0>.
  <COL INC 11><SP>What<COL INC 12>does<COL INC 11>this<COL INC 12>specification
  <COL INC 11>tell<CR><LF>
<COLUMN=351><FONT=0>us?<COL INC 12><SP>The<COL INC 12>predicate
  <COL INC 13>is<COL INC 12>partial.<COL INC 12>The<COL INC 13>recursion
  <COL INC 12>should<COL INC 12>be<COL INC 13>on<COL INC 12>the
  <COL INC 12>structure<COL INC 13>of<COL INC 12><FONT=2>y<FONT=0>;<CR><LF>
<COLUMN=351><FONT=0>and<COL INC 10>termination<COL INC 11>(with
  <COL INC 10>value<COL INC 11><FONT=13>f<FONT=0>)<COL INC 10>should
  <COL INC 10>occur<COL INC 11>if<COL INC 10><FONT=2>y<FONT=0>
  <COL INC 11>is<COL INC 10>the<COL INC 10>empty<COL INC 11>sequence.
  <COL INC 10>If<COL INC 11><FONT=2>y<FONT=0><COL INC 10>is<CR><LF>
<COLUMN=351><FONT=0>not<COL INC 13>empty<COL INC 13>then<COL INC 13>it
  <COL INC 13>has<COL INC 13>a<COL INC 13>first<COL INC 13>element;
  <COL INC 12>call<COL INC 13>it<COL INC 13><FONT=2>z<FONT=0>.
  <COL INC 13><SP>Compare<COL INC 13><FONT=2>z<FONT=0><COL INC 13>with
  <COL INC 13><FONT=2>x<FONT=0>.<COL INC 13><SP>If<COL INC 12>these<CR><LF>
<COLUMN=351><FONT=0>elements<COL INC 12>are<COL INC 12>identical
  <COL INC 13>then<COL INC 12><FONT=2>member<FONT=0><COL INC 12>should
  <COL INC 12>return<COL INC 13><FONT=13>t<FONT=0>;<COL INC 12>otherwise
  <COL INC 12>see<COL INC 12>if<COL INC 13><FONT=2>x<FONT=0>
  <COL INC 12>occurs<CR><LF>
<COLUMN=351><FONT=0>in<SP>the<SP>remainder<SP>of<SP>the<SP>sequence
  <SP><FONT=2>y<FONT=0>.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.6<COLUMN=850>Sequences:<SP>Abstract
  <SP>Data<SP>Structures<SP><SP><SP><SP><SP>31<FONT=0><CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>Notes:<CR><LINESPACE 9>
<COLUMN=351><FONT=0><FONT=1>1.<FONT=0><SP><SP>We<COL INC 21>cannot
  <COL INC 22>use<COL INC 21><FONT=2>eq<FONT=0><COL INC 21>directly
  <COL INC 22>to<COL INC 21>check<COL INC 21>equality<COL INC 22>since,
  <COL INC 21>though<COL INC 21><FONT=2>x<FONT=0><COL INC 22>is
  <COL INC 21>an<CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>individual,<COL INC 14>there
  <COL INC 14>is<COL INC 14>no<COL INC 15>reason<COL INC 14>that
  <COL INC 14>the<COL INC 14>elements<COL INC 15>of<COL INC 14><FONT=2>y
  <FONT=0><COL INC 14>need<COL INC 14>be.<COL INC 15><SP>We<COL INC 14>will
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>introduce<COL INC 12>a<COL INC 12>subsidiary
  <COL INC 12>predicate<COL INC 11><FONT=2>same<FONT=0><COL INC 12>to
  <COL INC 12>assure<COL INC 12>that<COL INC 11><FONT=2>eq<FONT=0>
  <COL INC 12>is<COL INC 12>applied<COL INC 12>only<COL INC 11>to<CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>arguments<SP>of<SP>the<SP>correct<SP>type.
  <CR><LINESPACE 9>
<COLUMN=351><FONT=0><FONT=1>2.<FONT=0><SP><SP>Recall<COL INC 12>that
  <COL INC 13>we<COL INC 12>can<COL INC 12>get<COL INC 13>the
  <COL INC 12>first<COL INC 12>element<COL INC 13>of<COL INC 12>a
  <COL INC 12>sequence<COL INC 13>with<COL INC 12><FONT=2>first<FONT=0>,
  <COL INC 13>and<COL INC 12>the<CR><LF>
<COLUMN=351><FONT=0><COLUMN=399>rest<SP>of<SP>a<SP>sequence<SP>with
  <SP><FONT=2>rest<FONT=0>.<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>So<SP>here's<SP><FONT=2>member<FONT=0>:<CR>
  <LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=531>member[x;y]<SP><LB>=<COLUMN=723>[null[y]
  <SP>→<SP><FONT=13>f<FONT=2>;<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=531><COLUMN=723><SP>same[first[y];x]<SP>→
  <SP><FONT=13>t<FONT=2>;<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=531><COLUMN=723><SP><FONT=13>t<FONT=2>
  <SP>→<SP>member[x;rest[y]]]<CR><LINESPACE 20>
<COLUMN=351><FONT=2><FONT=0>where:<COLUMN=594><FONT=2>same[u;v]<SP><LB>=
  <SP>[isindiv[u]<SP>→<SP>eq[u;v];<SP><FONT=13>t<FONT=2><SP>→<SP>
  <FONT=13>f<FONT=2>]<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>Next<COL INC 11>is<COL INC 12>an
  <COL INC 11>arithmetic<COL INC 11>example<COL INC 12>to<COL INC 11>calculate
  <COL INC 11>the<COL INC 12>number<COL INC 11>of<COL INC 11>elements
  <COL INC 12>in<COL INC 11>a<CR><LF>
<COLUMN=351><FONT=0>sequence.<CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=514>length[n]<SP><LB>=<SP>[null[n]<SP>→<SP>0;
  <SP><FONT=13>t<FONT=2><SP>→<SP>plus[1;length[rest[n]]]]<CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=589><FONT=1>1.7<SP><SP>Lists:<SP>Representations
  <SP>of<SP>Sequences<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>We<COL INC 15>can<COL INC 15>now<COL INC 15>write
  <COL INC 15>LISP-like<COL INC 15>functions<COL INC 15>describing
  <COL INC 15>operations<COL INC 15>on<COL INC 15>sequences;<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 14>algorithms<COL INC 15>are
  <COL INC 14>clean<COL INC 15>and<COL INC 14>understandable.
  <COL INC 15><SP>However,<COL INC 14>if<COL INC 15>we<COL INC 14>wish
  <COL INC 15>to<COL INC 14>run<CR><LF>
<COLUMN=351><FONT=0>these<COL INC 13>programs<COL INC 13>in
  <COL INC 13>a<COL INC 13>LISP<COL INC 13>environment,<COL INC 12>then
  <COL INC 13>we<COL INC 13>have<COL INC 13>to<COL INC 13>represent
  <COL INC 13>the<COL INC 12>data<CR><LF>
<COLUMN=351><FONT=0>structures<COL INC 10>and<COL INC 11>the
  <COL INC 10>algorithms<COL INC 10>in<COL INC 11>terms<COL INC 10>understandable
  <COL INC 10>to<COL INC 11>LISP.<FONT=7><SP>28<FONT=0><COL INC 10>This
  <COL INC 11>is<COL INC 10>the<CR><LF>
<COLUMN=351><FONT=0>problem<COL INC 11>of<COL INC 11>representation.
  <COL INC 11>Granted,<COL INC 11>we<COL INC 11>could<COL INC 11>have
  <COL INC 11>overcome<COL INC 11>the<COL INC 12>problem<COL INC 11>by
  <CR><LF>
<COLUMN=351><FONT=0>representing<COL INC 11>sequences<COL INC 10>directly
  <COL INC 11>as<COL INC 10>LISP<COL INC 11>S-expressions<COL INC 10>and
  <COL INC 11>could<COL INC 11>have<COL INC 10>written<CR><LF>
<COLUMN=351><FONT=0>functions<COL INC 20>in<COL INC 20>LISP
  <COL INC 20>which<COL INC 20>used<COL INC 20><FONT=2>car-cdr<FONT=0>-chains
  <COL INC 20>to<COL INC 20>directly<COL INC 21>manipulate<COL INC 20>the
  <CR><LF>
<COLUMN=351><FONT=0>representations.<COL INC 20><SP>However,
  <COL INC 20>the<COL INC 21>resulting<COL INC 20>programs<COL INC 20>would
  <COL INC 20>be<COL INC 21>much<COL INC 20>more<CR><LF>
<COLUMN=351><FONT=0>difficult<COL INC 12>to<COL INC 12>read
  <COL INC 13>and<COL INC 12>debug<COL INC 12>and<COL INC 13>understand.
  <COL INC 12><SP>More<COL INC 12>important,<COL INC 13>the<COL INC 12>programs
  <CR><LF>
<COLUMN=351><FONT=0>would<COL INC 18>be<COL INC 18>explicitly
  <COL INC 18>tied<COL INC 18>to<COL INC 18>a<COL INC 18>specific
  <COL INC 18>representation<COL INC 18>of<COL INC 18>the<COL INC 19>abstract
  <COL INC 18>data<CR><LF>
<COLUMN=351><FONT=0>structure.<COL INC 11>At<COL INC 10>some
  <COL INC 11>later<COL INC 10>date<COL INC 11>it<COL INC 10>might
  <COL INC 11>be<COL INC 10>desired<COL INC 11>to<COL INC 10>change
  <COL INC 11>the<COL INC 10>representation;<CR><LF>
<COLUMN=351><FONT=0>then<COL INC 15>many<COL INC 16>programs
  <COL INC 15>would<COL INC 15>have<COL INC 16>to<COL INC 15>be
  <COL INC 15>rewritten.<COL INC 16><SP>We<COL INC 15>will<COL INC 16>illustrate
  <COL INC 15>these<CR><LF>
<COLUMN=351><FONT=0>difficulties<COL INC 24>soon.<COL INC 24><SP>In
  <COL INC 24>Section<SP>2.3<COL INC 23>we<COL INC 24>develop
  <COL INC 24>a<COL INC 24>complex<COL INC 24>algorithm<COL INC 23>for
  <CR><LF>
<COLUMN=351><FONT=0>differentiation<COL INC 11>on<COL INC 10>a
  <COL INC 11>class<COL INC 11>of<COL INC 10>polynomials,<COL INC 11>moving
  <COL INC 11>from<COL INC 10>an<COL INC 11>unclear<COL INC 11>and
  <COL INC 10>highly<CR><LF>
<COLUMN=351><FONT=0>representation-dependent<COL INC 63><COL INC 2>formulation,
  <COL INC 63><COL INC 2>to<COL INC 63><COL INC 2>a<COL INC 63>
  <COL INC 3>clear,<COL INC 63><COL INC 2>concise,<CR><LF>
<COLUMN=351><FONT=0>representation-independent<SP>algorithm.<CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Obviously<COL INC 18>we<COL INC 18>will
  <COL INC 18>always<COL INC 19>have<COL INC 18>to<COL INC 18>supply
  <COL INC 18>a<COL INC 19>representational<COL INC 18>bridge<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>28<FONT=0>If<COL INC 17>we
  <COL INC 18>wish<COL INC 17>LISP<COL INC 18>to<COL INC 17>run
  <COL INC 17>on<COL INC 18>a<COL INC 17>conventional<COL INC 18>machine
  <COL INC 17>we<COL INC 18>have<COL INC 17>to<CR><LF>
<COLUMN=351><FONT=0>represent<COL INC 12>LISP's<COL INC 12>data
  <COL INC 11>structures<COL INC 12>and<COL INC 12>algorithms
  <COL INC 11>in<COL INC 12>a<COL INC 12>manner<COL INC 11>understandable
  <CR><LF>
<COLUMN=351><FONT=0>to<SP>that<SP>hardware.<SP>This<SP>task<SP>is<SP>the
  <SP>subject<SP>of<SP>later<SP>chapters<SP>in<SP>the<SP>book.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>32<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.7<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>between<COL INC 20>the<COL INC 20>abstract
  <COL INC 20>data<COL INC 21>structures<COL INC 20>and<COL INC 20>algorithms,
  <COL INC 20>and<COL INC 21>their<COL INC 20>concrete<CR><LF>
<COLUMN=351><FONT=0>counterparts.<COL INC 15><SP>One<COL INC 15>aspect
  <COL INC 15>of<COL INC 15>this<COL INC 15>study<COL INC 15>of
  <COL INC 15>data<COL INC 15>structures<COL INC 15>is<COL INC 15>to
  <COL INC 15>understand<CR><LF>
<COLUMN=351><FONT=0>what<COL INC 20>is<COL INC 19>required
  <COL INC 20>to<COL INC 19>build<COL INC 20>this<COL INC 20>bridge
  <COL INC 19>and<COL INC 20>how<COL INC 19>best<COL INC 20>to
  <COL INC 20>represent<COL INC 19>these<CR><LF>
<COLUMN=351><FONT=0>requirements<SP>in<SP>a<SP>programming<SP>language.
  <CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>The<COL INC 16>first<COL INC 16>decision
  <COL INC 16>to<COL INC 16>be<COL INC 16>made<COL INC 16>is
  <COL INC 16>how<COL INC 16>to<COL INC 16>represent<COL INC 16>the
  <COL INC 17>abstract<COL INC 16>data<CR><LF>
<COLUMN=351><FONT=0>structure;<COL INC 13>how<COL INC 13>should
  <COL INC 13>we<COL INC 14>represent<COL INC 13>sequences<COL INC 13>as
  <COL INC 13>S-expressions?<COL INC 14>How<COL INC 13>should<CR><LF>
<COLUMN=351><FONT=0>we<COL INC 16>choose<COL INC 16>representations
  <COL INC 17>in<COL INC 16>general?<COL INC 16>Usually<COL INC 16>there
  <COL INC 17>is<COL INC 16>not<COL INC 16>just<COL INC 17>one
  <COL INC 16>"best"<CR><LF>
<COLUMN=351><FONT=0>representation.<COL INC 27>Some<COL INC 27>obvious
  <COL INC 27>considerations<COL INC 27>involve<COL INC 27>the
  <COL INC 27>difficulty<COL INC 27>of<CR><LF>
<COLUMN=351><FONT=0>implementing<COL INC 19>the<COL INC 20>primitive
  <COL INC 19>operations<COL INC 19>(constructors,<COL INC 20>selectors,
  <COL INC 19>recognizers,<CR><LF>
<COLUMN=351><FONT=0>and<COL INC 10>predicates)<COL INC 10>on
  <COL INC 10>the<COL INC 10>abstract<COL INC 10>data<COL INC 10>structure.
  <COL INC 10>Also<COL INC 10>we<COL INC 10>must<COL INC 10>keep
  <COL INC 10>in<COL INC 11>mind<COL INC 10>the<CR><LF>
<COLUMN=351><FONT=0>kinds<COL INC 16>of<COL INC 16>algorithms
  <COL INC 16>which<COL INC 16>we<COL INC 17>wish<COL INC 16>to
  <COL INC 16>write;<COL INC 16>computation<COL INC 16>takes
  <COL INC 17>time,<COL INC 16>and<CR><LF>
<COLUMN=351><FONT=0>since<SP>this<SP>is<SP>computer<SP>science<SP>we
  <SP>should<SP>give<SP>consideration<SP>to<SP>efficiency.<CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>A<COL INC 13>reasonable<COL INC 13>choice
  <COL INC 12>for<COL INC 13>a<COL INC 13>representation<COL INC 12>of
  <COL INC 13>sequences<COL INC 13>as<COL INC 12>S-expressions<CR><LF>
<COLUMN=351><FONT=0>is<SP>the<SP>following:<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=702><FONT=8>r<FONT=14>(<FONT=0><LB>indiv<RB>
  <FONT=14>)<FONT=0><SP>=<SP><LB>atom<RB><CR><LINESPACE 9>
<COLUMN=351><FONT=0>and<SP>for<SP><FONT=8>α<FONT=3>1<FONT=0>,<SP>...,
  <SP><FONT=8>α<FONT=3>n<FONT=0><SP>in<SP><FONT=12><LB>seq<SP>elem<RB>
  <FONT=0>:<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=375><SP><SP><SP><SP><SP><SP><FONT=8>r
  <FONT=14>(<FONT=1><SP>(<FONT=8>α<FONT=3>1<FONT=0>,<SP>...,<SP>
  <FONT=8>α<FONT=3>n<FONT=1>)<SP><FONT=14>)<FONT=0><SP>=<SP><FONT=15>
  <COLUMN=723><SP><SP><SP><SP><SP><SP><SP><SP><SP>/\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=375><COLUMN=723><SP><SP><SP><SP><SP><SP>
  <SP><SP>/<SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=375><COLUMN=723><SP><SP><SP><FONT=8>r
  <FONT=14>(<FONT=1><SP><FONT=8>α<FONT=3>1<FONT=1><SP><FONT=14>)
  <FONT=15><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=375><COLUMN=723><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=375><COLUMN=723><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=375><COLUMN=723><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP>/\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=375><COLUMN=723><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP>/<SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=375><COLUMN=723><SP><SP><SP><SP><SP><SP>
  <SP><SP><FONT=8>r<FONT=14>(<FONT=1><SP><FONT=8>α<FONT=3>2<FONT=1><SP>
  <FONT=14>)<FONT=15><CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=375><COLUMN=723><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>...<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=375><COLUMN=723><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>\<CR>
  <LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=375><COLUMN=723><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>/\<CR>
  <LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=375><COLUMN=723><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>/<SP><SP>\<CR>
  <LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=375><COLUMN=723><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>/<SP><SP><SP><SP>\<CR>
  <LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=375><COLUMN=723><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>/<SP><SP><SP><SP><SP><FONT=2>NIL
  <FONT=15><CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=375><COLUMN=723><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><FONT=8>r<FONT=14>(<FONT=1><SP><FONT=8>α<FONT=3>n
  <FONT=1><SP><FONT=14>)<CR><LINESPACE 20>
<COLUMN=351><FONT=0>The<COL INC 15>right-hand<COL INC 14>branch
  <COL INC 15>in<COL INC 14>this<COL INC 15>LISP-tree<COL INC 14>representation
  <COL INC 15>of<COL INC 14>a<COL INC 15>sequence<COL INC 14>will<CR><LF>
<COLUMN=351><FONT=0>always<COL INC 10>point<COL INC 11>to<COL INC 10>the
  <COL INC 10>rest<COL INC 11>of<COL INC 10>the<COL INC 10>sequence
  <COL INC 11>or<COL INC 10>will<COL INC 10>be<COL INC 11>the
  <COL INC 10>atom<COL INC 10><FONT=2>NIL<FONT=0>.<COL INC 11><SP>Notice
  <COL INC 10>that<CR><LF>
<COLUMN=351><FONT=0>the<SP>description<SP>of<SP>the<SP><FONT=8>r
  <FONT=0>-mapping<SP>is<SP>recursive.<SP>Thus<SP>for<SP>example:<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.7<COLUMN=854>Lists:<SP>Representations
  <SP>of<SP>Sequences<SP><SP><SP><SP><SP>33<FONT=0><CR><LF>
<CR><LINESPACE 17>
<COLUMN=351><FONT=15><COLUMN=435><SP><SP><SP><SP><FONT=8>r<FONT=14>(
  <FONT=1><SP>((A,B,C),(D))<SP><FONT=14>)<FONT=0><SP>=<SP><FONT=15>
  <COLUMN=807><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>/\<CR>
  <LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=435><COLUMN=807><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP>/<SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=435><COLUMN=807><SP><SP><SP><SP><SP><SP>
  <SP><SP>/<SP><SP><SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=435><COLUMN=807><SP><SP><FONT=8>r
  <FONT=14>(<FONT=1><SP>(A,B,C)<SP><FONT=14>)<FONT=15><SP>\<CR>
  <LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=435><COLUMN=807><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=435><COLUMN=807><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=435><COLUMN=807><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>/\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=435><COLUMN=807><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP>/<SP><SP>\<CR><LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=435><COLUMN=807><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP>/<SP><SP><SP><FONT=2>NIL<FONT=15><CR>
  <LINESPACE 0>
<COLUMN=351><FONT=15><COLUMN=435><COLUMN=807><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><FONT=8>r<FONT=14>(<FONT=1><SP>(D)<SP><FONT=14>)<FONT=15>
  <CR><LINESPACE 20>
<COLUMN=351><FONT=0>which<COL INC 11>will<COL INC 11>finally
  <COL INC 10>expand<COL INC 11>to<COL INC 11><FONT=2>((A<COL INC 11>.
  <COL INC 10>(B<COL INC 11>.<COL INC 11>(C<COL INC 10>.<COL INC 11>NIL)))
  <COL INC 11>.<COL INC 11>((D<COL INC 10>.<COL INC 11>NIL)<COL INC 11>.
  <COL INC 11>NIL))<FONT=0><COL INC 10>since<CR><LF>
<COLUMN=351><FONT=0><FONT=8>r<FONT=14>(<FONT=1><SP>(A,B,C)<SP>
  <FONT=14>)<FONT=0><SP>is<SP><FONT=2>(A<SP>.<SP>(B<SP>.<SP>(C<SP>.<SP>NIL)))
  <FONT=0><SP>and<SP><FONT=8>r<FONT=14>(<FONT=1><SP>(D)<SP><FONT=14>)
  <FONT=0><SP>is<SP><FONT=2>(D<SP>.<SP>NIL)<FONT=0><CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>For<COL INC 24>convenience
  <COL INC 25>sake<COL INC 24>we<COL INC 25>will<COL INC 24>carry
  <COL INC 25>over<COL INC 24>the<COL INC 25>sequence<COL INC 24>notation
  <CR><LF>
<COLUMN=351><FONT=0>--<SP><FONT=1>(A,<SP>B,<SP>C)<FONT=0><SP>--
  <COL INC 11>to<COL INC 11>that<COL INC 11>for<COL INC 11>the
  <COL INC 11>representation<COL INC 11>in<COL INC 11>LISP<COL INC 11>--
  <SP><FONT=2>(A,<SP>B,<SP>C)<FONT=0><SP>--<FONT=7><SP>29<FONT=0>
  <COL INC 11>thinking<CR><LF>
<COLUMN=351><FONT=0>of<SP><FONT=2>(A,<SP>B,<SP>C)<FONT=0><SP>as<SP>an
  <SP>abbreviation<SP>for<SP><FONT=2>(A<SP>.<SP>(B<SP>.<SP>(C<SP>.<SP>NIL)))
  <FONT=0>.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Next,<COL INC 12>what<COL INC 13>about
  <COL INC 12>a<COL INC 13>representation<COL INC 12>for<COL INC 12>the
  <COL INC 13>empty<COL INC 12>sequence?<COL INC 13>Looking<COL INC 12>at
  <CR><LF>
<COLUMN=351><FONT=0>the<COL INC 10>representation<COL INC 11>of
  <COL INC 10>a<COL INC 10>non-empty<COL INC 11>sequence<COL INC 10>it
  <COL INC 10>appears<COL INC 11>natural<COL INC 10>to<COL INC 10>take
  <COL INC 11><FONT=2>NIL<FONT=0><COL INC 10>as<CR><LF>
<COLUMN=351><FONT=0><FONT=8>r<FONT=14>(<FONT=1>(<SP>)<FONT=14>)
  <FONT=0><COL INC 16>since<COL INC 15>after<COL INC 16>you<COL INC 16>have
  <COL INC 15>removed<COL INC 16>all<COL INC 16>the<COL INC 15>elements
  <COL INC 16>from<COL INC 16>the<COL INC 15>sequence<CR><LF>
<COLUMN=351><FONT=0><FONT=2>NIL<FONT=0><SP>is<SP>all<SP>that<SP>is
  <SP>left<SP>in<SP>the<SP>representation.<SP><SP>To<SP>be<SP>consistent
  <SP>then:<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=747><FONT=8>r<FONT=14>(<FONT=1><SP>(<SP>)
  <SP><FONT=14>)<FONT=0><SP>=<SP><FONT=2>NIL<FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>This<COL INC 21>gives<COL INC 20>us
  <COL INC 21>a<COL INC 20>complete<COL INC 21>specification
  <COL INC 20>of<COL INC 21>the<COL INC 20><FONT=8>r<FONT=0>-mapping
  <COL INC 21>for<COL INC 20>the<CR><LF>
<COLUMN=351><FONT=0>domain;<COL INC 11>we<COL INC 11>have<COL INC 11>represented
  <COL INC 10>the<COL INC 11>abstract<COL INC 11>domain<COL INC 11>of
  <COL INC 10>sequences<COL INC 11>in<COL INC 11>a<COL INC 11>subset
  <COL INC 10>of<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 23>domain<COL INC 23>of<COL INC 23>Symbolic
  <COL INC 23>Expressions.<COL INC 23>The<COL INC 23>S-expr<COL INC 23>representation
  <COL INC 24>of<COL INC 23>a<CR><LF>
<COLUMN=351><FONT=0>sequence<SP>is<SP>called<SP>a<SP><FONT=1>list
  <FONT=0>;<SP>and<SP>we<SP>will<SP>refer<SP>to<SP>the<SP>abbreviation,
  <CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=434><FONT=2>(<FONT=8>α<FONT=3>1<FONT=2>,
  <SP>...,<SP><FONT=8>α<FONT=3>n<FONT=2>)<FONT=0><SP><SP><SP>for<SP>
  <SP><SP><FONT=2>(<FONT=8>α<FONT=3>1<FONT=2><SP>.<SP>(<FONT=8>α
  <FONT=3>2<FONT=2><SP>.<SP><SP>...<SP>(<FONT=8>α<FONT=3>n<FONT=2><SP>.
  <SP>NIL)<SP>...))<FONT=0><SP><SP><SP><SP>as<SP><FONT=1>list-notation
  <FONT=0>.<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>Sequences<COL INC 23>are<COL INC 23>the
  <COL INC 23>abstract<COL INC 24>data<COL INC 23>structure;
  <COL INC 23>lists<COL INC 23>are<COL INC 23>one<COL INC 24>of
  <COL INC 23>their<CR><LF>
<COLUMN=351><FONT=0>representations.<COL INC 24><SP>Since<COL INC 23>the
  <COL INC 24>atom<COL INC 23><FONT=2>NIL<FONT=0><COL INC 24>takes
  <COL INC 23>on<COL INC 24>special<COL INC 24>significance<COL INC 23>in
  <CR><LF>
<COLUMN=351><FONT=0>list-notation<SP>it<SP>is<SP>endowed<SP>with<SP>the
  <SP>special<SP>name<SP><FONT=1>list<SP>terminator<FONT=0>.<CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>And<COL INC 12>a<COL INC 12>notational
  <COL INC 12>point:<COL INC 13>in<COL INC 12>graphical<COL INC 12>interpretation
  <COL INC 12>of<COL INC 12>list-notation<COL INC 13>it<COL INC 12>is
  <CR><LF>
<COLUMN=351><FONT=0>often<SP>convenient<SP>to<SP>write:<CR>
  <LINESPACE 0>
<COLUMN=351><FONT=10><COLUMN=579>⊂αααπααααα⊃<COLUMN=915><SP>⊂αααπαα⊃
  <CR><LINESPACE 0>
<COLUMN=351><FONT=10><COLUMN=579>~<SP><SP><SP>~<SP>NIL<SP>~<SP><SP>
  <SP><SP><FONT=0>as<FONT=10><COLUMN=915><SP>~<SP><SP><SP>~≤'~<CR>
  <LINESPACE 0>
<COLUMN=351><FONT=10><COLUMN=579>%ααα∀ααααα$<COLUMN=915><SP>%ααα∀αα$
  <CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>29<FONT=0>Be<COL INC 10>aware
  <COL INC 10>that<COL INC 10><FONT=2>A<FONT=0><COL INC 10>is
  <COL INC 10>an<COL INC 10>atom<COL INC 10>and<COL INC 10><FONT=1>A
  <FONT=0><COL INC 10>is<COL INC 10>a<COL INC 10>sequence<COL INC 10>element;
  <COL INC 10>they<COL INC 10>are<COL INC 10><FONT=5>not<FONT=0><CR><LF>
<COLUMN=351><FONT=0>the<SP>same<SP>data<SP>structure.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>34<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.7<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>For<SP>example<SP><FONT=2>(A,<SP>(B,<SP>C),<SP>D)
  <FONT=0><SP>is:<CR><LF>
<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP>⊂αααπααα⊃<SP>
  <SP>⊂αααπααα⊃<SP><SP>⊂αααπαα⊃<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP>~<SP>A<SP>~<SP>#αβα→~
  <SP>#<SP>~<SP>#αβα→~<SP>D<SP>~≤'~<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP>%ααα∀ααα$<SP>
  <SP>%αβα∀ααα$<SP><SP>%ααα∀αα$<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP>~<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP>~<SP><SP><SP>⊂αααπααα⊃<SP><SP>⊂αααπαα⊃
  <CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP>%αα→~<SP>B<SP>~<SP>#αβα→~<SP>C
  <SP>~≤'~<CR><LINESPACE 0>
<COLUMN=351><FONT=10><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>%ααα∀ααα$<SP><SP>%ααα∀αα$
  <CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>or,<SP>in<SP>"dotted-pair"<SP>notation:<SP>
  <FONT=2><SP>(A<SP>.<SP>((B<SP>.<SP>(C<SP>.<SP>NIL))<SP>.<SP>(D<SP>.
  <SP>NIL)))<FONT=0><CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Finally,<SP>in<SP>list-notation<SP>the
  <SP>commas<SP>can<SP>be<SP>replaced<SP>by<SP>spaces<FONT=7><SP>30
  <FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=646>e.g.<SP><FONT=2>(A,<SP>(B,<SP>C),<SP>D)
  <SP>=<SP>(A<SP>(B<SP>C)<SP>D)<CR><LINESPACE 9>
<COLUMN=351><FONT=2><FONT=0>but<SP>beware:<SP>the<SP>"dots"<SP>in<SP>dot-notation
  <SP>are<SP><FONT=5>never<FONT=0><SP>optional!<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=643>that<SP>is<SP><SP><SP><FONT=2>(A<SP>.
  <SP>(B<SP>.<SP>C))<SP><FONT=8>≠<FONT=2><SP>(A<SP>(B<SP>C))<CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>At<COL INC 12>this<COL INC 12>point
  <COL INC 12>we<COL INC 12>have<COL INC 12>an<COL INC 11>intuitive
  <COL INC 12>understanding<COL INC 12>of<COL INC 12>what<COL INC 12>we
  <COL INC 12>mean<COL INC 11>by<CR><LF>
<COLUMN=351><FONT=0>"sequence";<COL INC 14>we<COL INC 14>have
  <COL INC 14>described<COL INC 14>selectors,<COL INC 14>constructors,
  <COL INC 14>and<COL INC 15>recognizers,<COL INC 14>albeit<CR><LF>
<COLUMN=351><FONT=0>at<COL INC 10>an<COL INC 10>abstract<COL INC 10>level,
  <COL INC 10>for<COL INC 10>manipulating<COL INC 10>sequences,
  <COL INC 10>and<COL INC 10>we<COL INC 10>have<COL INC 10>represented
  <COL INC 10>our<CR><LF>
<COLUMN=351><FONT=0>notion<COL INC 14>of<COL INC 14>sequences
  <COL INC 14>as<COL INC 14>a<COL INC 14>subset<COL INC 14>of
  <COL INC 14>the<COL INC 14>S-expressions<COL INC 14>called
  <COL INC 14>lists.<COL INC 14><SP>The<COL INC 14>final<CR><LF>
<COLUMN=351><FONT=0>step<COL INC 11>is<COL INC 10>to<COL INC 11>represent
  <COL INC 10>our<COL INC 11>sequence-manipulators<COL INC 10>as
  <COL INC 11>certain<COL INC 10>LISP<COL INC 11>functions.<COL INC 10>
  <SP>Let<CR><LF>
<COLUMN=351><FONT=0><FONT=2>first<FONT=3>r<FONT=0><COL INC 10>be
  <COL INC 10>a<COL INC 11>LISP<COL INC 10>function<COL INC 10>which
  <COL INC 10>will<COL INC 11>represent<COL INC 10>the<COL INC 10>sequence
  <COL INC 11>operation<COL INC 10><FONT=2>first<FONT=0>.<FONT=7><SP>31
  <FONT=0><CR><LF>
<COLUMN=351><FONT=0>Then<SP>for<SP>example<SP>we<SP>might<SP>expect:
  <CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=549><FONT=8>r<FONT=14>(<FONT=2><SP>first[
  <FONT=1>(A,<SP>B,<SP>C)<FONT=2>]<SP><FONT=14>)<FONT=2><SP>=<SP>first
  <FONT=3>r<FONT=2>[(A,<SP>B,<SP>C)]<SP><SP><SP>=<SP><SP><SP>A<FONT=0>
  <CR><LINESPACE 20>
<COLUMN=351><FONT=0>The<COL INC 12>problem<COL INC 11>is<COL INC 12>that
  <COL INC 11>this<COL INC 12>line<COL INC 11>is<COL INC 12>not
  <COL INC 11>quite<COL INC 12>right.<COL INC 11><SP>LISP<COL INC 12>functions
  <COL INC 12>expect<COL INC 11>their<CR><LF>
<COLUMN=351><FONT=0>inputs<COL INC 10>to<COL INC 11>be<COL INC 10>S-expressions
  <COL INC 11>but<COL INC 10><FONT=2>(A,<SP>B,<SP>C)<FONT=0>
  <COL INC 10>is<COL INC 11><FONT=5>not<FONT=0><COL INC 10>an
  <COL INC 11>S-expression.<COL INC 10><SP>To<COL INC 11>be<COL INC 10>correct
  <CR><LF>
<COLUMN=351><FONT=0>we<SP><FONT=5>should<FONT=0><SP>have<SP>written:
  <CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=653><FONT=2>first<FONT=3>r<FONT=2>[(A<SP>.
  <SP>(B<SP>.<SP>(C<SP>.<SP>NIL)))]<SP>=<SP>A<FONT=3><CR><LINESPACE 20>
<COLUMN=351><FONT=0>It<COL INC 17>might<COL INC 17>be<COL INC 18>argued
  <COL INC 17>that<COL INC 17><FONT=2>(A,<COL INC 18>B,<COL INC 17>C)
  <FONT=0><COL INC 17>is<COL INC 18>just<COL INC 17>a<COL INC 17>convenient
  <COL INC 18>abbreviation<COL INC 17>for<CR><LF>
<COLUMN=351><FONT=0><FONT=2>(A<SP>.<SP>(B<SP>.<SP>(C<SP>.<SP>NIL)))
  <FONT=0>,<COL INC 22>but<COL INC 22>even<COL INC 21>so,<COL INC 22>if
  <COL INC 22>we<COL INC 22>wish<COL INC 21>the<COL INC 22>machine
  <COL INC 22>to<COL INC 22>use<COL INC 21>the<CR><LF>
<COLUMN=351><FONT=0>abbreviation<COL INC 19>we<COL INC 18>must
  <COL INC 19>be<COL INC 18>able<COL INC 19>to<COL INC 18>express
  <COL INC 19>that<COL INC 18>translation<COL INC 19>scheme<COL INC 19>to
  <COL INC 18>the<CR><LF>
<COLUMN=351><FONT=0>machine.<COL INC 20><SP>We<COL INC 20>must
  <COL INC 20>therefore<COL INC 21>examine<COL INC 20>the<COL INC 20>implications
  <COL INC 20>of<COL INC 21>the<COL INC 20>notation.<CR><LF>
<COLUMN=351><FONT=0>Clearly<COL INC 16>it<COL INC 17>is<COL INC 16>easier
  <COL INC 17>to<COL INC 16>read<COL INC 16>and<COL INC 17>write
  <COL INC 16>in<COL INC 17>list<COL INC 16>notation<COL INC 16>and,
  <COL INC 17>as<COL INC 16>long<COL INC 17>as<COL INC 16>we<CR><LF>
<COLUMN=351><FONT=0>perform<COL INC 20>only<COL INC 20>list-operations
  <COL INC 21>on<COL INC 20>lists,<COL INC 20>there<COL INC 20>is
  <COL INC 21>no<COL INC 20>reason<COL INC 20>to<COL INC 20>look
  <COL INC 21>at<COL INC 20>the<CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>30<FONT=0>This
  <COL INC 15>convention<COL INC 15>is<COL INC 14>one<COL INC 15>of
  <COL INC 15>the<COL INC 14>few<COL INC 15>instances<COL INC 15>of
  <COL INC 14>a<COL INC 15>"good"<COL INC 15>bug.<COL INC 14>The<CR><LF>
<COLUMN=351><FONT=0>early<COL INC 13>LISP<COL INC 14>papers
  <COL INC 13>required<COL INC 14>full<COL INC 13>use<COL INC 13>of
  <COL INC 14>commas,<COL INC 13>but<COL INC 14>due<COL INC 13>to
  <COL INC 14>a<COL INC 13>programming<CR><LF>
<COLUMN=351><FONT=0>error<COL INC 18>in<COL INC 19>the<COL INC 18>LISP
  <COL INC 18>output<COL INC 19>routine,<COL INC 18>lists<COL INC 18>were
  <COL INC 19>printed<COL INC 18>without<COL INC 19>commas.<COL INC 18>It
  <CR><LF>
<COLUMN=351><FONT=0>looked<SP>so<SP>much<SP>better<SP>that<SP>the<SP>bug
  <SP>became<SP>institutionalized.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>31<FONT=0>Indeed,
  <COL INC 13>once<COL INC 13>the<COL INC 13><FONT=8>r<FONT=0>-mapping
  <COL INC 13>is<COL INC 13>defined<COL INC 13>on<COL INC 13>the
  <COL INC 13><FONT=5>domain<FONT=0><COL INC 13>it<COL INC 13>is
  <COL INC 13>induced<CR><LF>
<COLUMN=351><FONT=0>on<SP>the<SP><FONT=5>operations<FONT=0>.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.7<COLUMN=854>Lists:<SP>Representations
  <SP>of<SP>Sequences<SP><SP><SP><SP><SP>35<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>underlying<COL INC 17>dotted-pair<COL INC 17>representation.
  <FONT=7><SP>32<FONT=0><COL INC 17>However,<COL INC 17>we<COL INC 17>must
  <COL INC 17>keep<COL INC 17>in<COL INC 17>mind<CR><LF>
<COLUMN=351><FONT=0>that<COL INC 17>list<COL INC 17>operations
  <COL INC 17>are<COL INC 17>carried<COL INC 16>out<COL INC 17>on
  <COL INC 17>the<COL INC 17>machine<COL INC 17>using<COL INC 17>the
  <COL INC 16>dotted-pair<CR><LF>
<COLUMN=351><FONT=0>representation.<COL INC 16><FONT=5>We<FONT=0>
  <COL INC 16>might<COL INC 16>carry<COL INC 16>out<COL INC 16>the
  <COL INC 16>"list-to-dotted-pair"<COL INC 16>transformations<CR><LF>
<COLUMN=351><FONT=0>implicitly,<COL INC 10>but<COL INC 10>a
  <COL INC 10>machine<COL INC 10>which<COL INC 10>evaluates<COL INC 10>LISP
  <COL INC 10>expressions<COL INC 10>will<COL INC 10>have<COL INC 11>to
  <COL INC 10>have<CR><LF>
<COLUMN=351><FONT=0>an<COL INC 28>explict<COL INC 28>transformation
  <COL INC 28>mechanism.<COL INC 28><SP>So<COL INC 28>a<COL INC 28>necessary
  <COL INC 28>part<COL INC 29>of<COL INC 28>our<CR><LF>
<COLUMN=351><FONT=0>representation<COL INC 16>of<COL INC 16>sequences
  <COL INC 16>is<COL INC 15>the<COL INC 16>specification<COL INC 16>of
  <COL INC 16>transformations<COL INC 15>between<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 19>abstract<COL INC 20>data
  <COL INC 19>structure<COL INC 20>notation<COL INC 19>and<COL INC 19>the
  <COL INC 20>notation<COL INC 19>of<COL INC 20>the<COL INC 19>underlying
  <CR><LF>
<COLUMN=351><FONT=0>representation.<COL INC 10><SP>We<COL INC 10>can
  <COL INC 10>give<COL INC 10>representations<COL INC 10>for
  <COL INC 10>the<COL INC 10>sequence<COL INC 11>operations.
  <COL INC 10><SP>We<CR><LF>
<COLUMN=351><FONT=0>should<COL INC 17>continue<COL INC 16>to
  <COL INC 17>write<COL INC 16>the<COL INC 17>subscript<COL INC 16>
  <FONT=3>r<FONT=0><COL INC 17>on<COL INC 16>the<COL INC 17>LISP
  <COL INC 16>representation<COL INC 17>of<COL INC 16>a<CR><LF>
<COLUMN=351><FONT=0>sequence<COL INC 12>operation,<COL INC 12>like
  <COL INC 12><FONT=2>seq<FONT=0><COL INC 13>being<COL INC 12>represented
  <COL INC 12>by<COL INC 12><FONT=2>seq<FONT=3>r<FONT=0>.<COL INC 12>In
  <COL INC 13>most<COL INC 12>circumstances<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 10>distinction<COL INC 10>between
  <COL INC 10>abstraction<COL INC 10>and<COL INC 10>representation
  <COL INC 10>will<COL INC 10>be<COL INC 10>clear,<COL INC 10>so
  <COL INC 11>we<COL INC 10>will<CR><LF>
<COLUMN=351><FONT=0>usually<COL INC 11>omit<COL INC 11>the
  <COL INC 10>subscript.<COL INC 11><SP>The<COL INC 11>construction
  <COL INC 11>of<COL INC 10>a<COL INC 11>sequence<COL INC 11>from
  <COL INC 11>an<COL INC 10>arbitrary<CR><LF>
<COLUMN=351><FONT=0>number<COL INC 11>of<COL INC 11>elements
  <COL INC 12>will<COL INC 11>be<COL INC 11>represented<COL INC 12>by
  <COL INC 11>a<COL INC 11>LISP<COL INC 12>function<COL INC 11><FONT=2>seq
  <FONT=3>r<FONT=0>.<COL INC 11>We<COL INC 12>will<COL INC 11>use<CR><LF>
<COLUMN=351><FONT=0><FONT=2>list<FONT=0><SP>interchangeably<SP>with
  <SP><FONT=2>seq<FONT=3>r<FONT=0>.<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=751><FONT=8>r<FONT=14>(<FONT=2><SP>seq
  <SP><FONT=14>)<FONT=2><SP>=<SP>list<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><FONT=2>list[<FONT=8>α<FONT=3>1<FONT=2>;
  <COL INC 11><FONT=8>α<FONT=3>2<FONT=2>;<COL INC 11>...<COL INC 11>;
  <FONT=8>α<FONT=3>n<FONT=2>]<FONT=0><COL INC 11>generates<COL INC 11>a
  <COL INC 12>list<COL INC 11>consisting<COL INC 11>of<COL INC 11>the
  <COL INC 11><FONT=8>α<FONT=3>i<FONT=0><COL INC 11>arguments.
  <COL INC 11>That<COL INC 12>is,<COL INC 11>for<CR><LF>
<COLUMN=351><FONT=0><COLUMN=423>n<FONT=8>≥<FONT=0>1,<SP><FONT=2>list
  <FONT=0><SP>is<SP>the<SP>appropriately<SP>nested<SP>composition<SP>of
  <SP><FONT=2>cons<FONT=0>es:<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><COLUMN=445><FONT=2>cons[<FONT=8>α
  <FONT=3>1<FONT=2>;cons[<FONT=8>α<FONT=3>2<FONT=2>;<SP>...<SP>cons[
  <FONT=8>α<FONT=3>n<FONT=2>;NIL]]<SP>...]<SP><FONT=0>,<SP>and<SP>for
  <SP>n<SP>=<SP>0,<SP><FONT=2>list[<SP>]<SP>=<SP>(<SP>)<FONT=0><SP><CR>
  <LINESPACE 34>
<COLUMN=351><FONT=0>Examples:<COLUMN=579><FONT=2>list[A;B]<SP>=<SP>(A
  <SP>B)<CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=579>list[A;B;C]<SP>=<SP>(A<SP>B<SP>C)<CR>
  <LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=579>list[A;list[B;C]]<SP>=<SP>list[A;(B
  <SP>C)]<SP>=<SP>(A<SP>(B<SP>C))<CR><LINESPACE 17>
<COLUMN=351><FONT=2><COLUMN=579>list[NIL]<SP>=<SP>(NIL)<FONT=0><CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0>Notice<COL INC 14>that<COL INC 13><FONT=2>list
  <FONT=0><COL INC 14>is<COL INC 13><FONT=5>not<FONT=0><COL INC 14>strictly
  <COL INC 13>a<COL INC 14>LISP<COL INC 13>function<COL INC 14>as
  <COL INC 13>we<COL INC 14>have<COL INC 14>prescribed<COL INC 13>them;
  <CR><LF>
<COLUMN=351><FONT=0><FONT=2>list<FONT=0><COL INC 10>does<COL INC 11>evaluate
  <COL INC 10>its<COL INC 11>arguments,<COL INC 10>but<COL INC 11>it
  <COL INC 10>can<COL INC 11>take<COL INC 10>an<COL INC 11>arbitrary
  <COL INC 10>number<COL INC 11>of<COL INC 10>them.<CR><LF>
<COLUMN=351><FONT=0>On<COL INC 17>page<SP>17<COL INC 17>we
  <COL INC 17>required<COL INC 16>that<COL INC 17>LISP<COL INC 17>functions
  <COL INC 17>be<COL INC 16>of<COL INC 17>fixed<COL INC 17>arity.
  <COL INC 17><SP>For<COL INC 16>the<CR><LF>
<COLUMN=351><FONT=0>moment,<COL INC 15><FONT=2>list<FONT=0>
  <COL INC 15>is<COL INC 15>simply<COL INC 15>a<COL INC 15>notational
  <COL INC 15>abbreviation<COL INC 15>for<COL INC 15>nested<COL INC 15>applications
  <COL INC 15>of<CR><LF>
<COLUMN=351><FONT=0><FONT=2>cons<FONT=0>.<COL INC 13><SP>The
  <COL INC 14>representation<COL INC 13>of<COL INC 14>the<COL INC 13>selector
  <COL INC 13>functions<COL INC 14>should<COL INC 13>be<COL INC 14>apparent
  <COL INC 13>from<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 16>graphical<COL INC 16>representation.
  <COL INC 16>We<COL INC 15>leave<COL INC 16>it<COL INC 16>as
  <COL INC 16>an<COL INC 15>exercise<COL INC 16>for<COL INC 16>the
  <COL INC 16>reader<COL INC 15>to<CR><LF>
<COLUMN=351><FONT=0>specify<COL INC 15>representations<COL INC 15>for
  <COL INC 15>these<COL INC 15>functions;<COL INC 15>however,
  <COL INC 15>here<COL INC 15>are<COL INC 15>a<COL INC 15>few
  <COL INC 15>of<COL INC 15>the<CR><LF>
<COLUMN=351><FONT=0>other<SP>representations:<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>________________<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=7><SP>32<FONT=0>Indeed,
  <COL INC 12>a<COL INC 11>strong<COL INC 12>case<COL INC 12>can
  <COL INC 11>be<COL INC 12>made<COL INC 12>for<COL INC 11><FONT=5>never
  <FONT=0><COL INC 12>allowing<COL INC 12>any<COL INC 11>operations<CR><LF>
<COLUMN=351><FONT=0>on<COL INC 10>lists<COL INC 10><FONT=5>except
  <FONT=0><COL INC 10>list<COL INC 10>operations!<COL INC 11>See
  <COL INC 10>the<COL INC 10>discussion<COL INC 10>of<COL INC 10>type-faults
  <COL INC 10>on<COL INC 11>page<SP>23<COL INC 10>and<CR><LF>
<COLUMN=351><FONT=0>page<SP>241.<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>36<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.7<FONT=0><CR><LF>
<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423><FONT=8>r<FONT=14>(<FONT=2><SP>isindiv
  <SP><FONT=14>)<FONT=2><SP>=<SP>atom<CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=423><FONT=8>r<FONT=14>(<FONT=2><SP>isseq
  <SP><FONT=14>)<FONT=2><SP>=<SP>isstrictlist<FONT=0><SP>where:<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=483>isstrictlist[x]<SP><LB>=<COLUMN=711>[atom[x]
  <SP>→<SP>[eq[x;<SP>NIL]<SP>→<SP><FONT=13>t<FONT=2>;<SP><FONT=13>t
  <FONT=2><SP>→<SP><FONT=13>f<FONT=2>];<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=483><COLUMN=711><SP>islistelement[car[x]]
  <SP>→<SP>isstrictlist[cdr[x]];<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=483><COLUMN=711><SP><FONT=13>t<FONT=2>
  <SP>→<SP><FONT=13>f<FONT=2>]<CR><LINESPACE 20>
<COLUMN=351><FONT=2><FONT=0>where:<FONT=2><COLUMN=527>islistelement[x]
  <SP><LB>=<SP>[atom[x]<SP>→<SP><FONT=13>t<FONT=2>;<SP><SP><SP><FONT=13>t
  <FONT=2><SP>→<SP>isstrictlist[x]]<CR><LINESPACE 20>
<COLUMN=351><FONT=0>The<COL INC 19>predicate<COL INC 20><FONT=2>atom
  <FONT=0><COL INC 19>does<COL INC 20>not<COL INC 19>quite<COL INC 19>characterize
  <COL INC 20><FONT=2>isindiv<FONT=0>.<COL INC 19><SP>We<COL INC 20>have
  <COL INC 19>been<CR><LF>
<COLUMN=351><FONT=0>assuming<SP>that:<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=491><FONT=8>r<FONT=14>(<FONT=2>f[t
  <FONT=3>1<FONT=2>;<SP>...;<SP>t<FONT=3>n<FONT=2>]<FONT=14>)<FONT=0>
  <SP>=<SP><FONT=8>r<FONT=14>(<FONT=2>f<FONT=14>)<FONT=2>[<SP><FONT=8>r
  <FONT=14>(<FONT=2>t<FONT=3>1<FONT=2><FONT=14>)<FONT=2>;<SP><FONT=8>r
  <FONT=14>(<FONT=2>t<FONT=3>2<FONT=2><FONT=14>)<FONT=2>;<SP>...;<SP>
  <FONT=8>r<FONT=14>(<FONT=2>t<FONT=3>n<FONT=2><FONT=14>)<FONT=2><SP>]
  <CR><LINESPACE 20>
<COLUMN=351><FONT=2><FONT=0>but<SP><COLUMN=590><FONT=8>r<FONT=14>(
  <FONT=2>isindiv[(<SP>)]<FONT=14>)<FONT=0><SP><FONT=8>≠<FONT=0><SP>
  <FONT=8>r<FONT=14>(<FONT=2>isindiv<FONT=14>)<FONT=2>[<FONT=8>r
  <FONT=14>(<FONT=2>(<SP>)<FONT=14>)<FONT=2>]<FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0>Some<COL INC 13>descriptions<COL INC 13>of
  <COL INC 12>LISP<COL INC 13>use<COL INC 13>this<COL INC 12>strict
  <COL INC 13>definition<COL INC 13>of<COL INC 12>lists,<COL INC 13>so
  <COL INC 13>that<COL INC 12>elements<CR><LF>
<COLUMN=351><FONT=0>of<COL INC 17>a<COL INC 17>list<COL INC 16>are
  <COL INC 17>either<COL INC 17>atomic<COL INC 17>or<COL INC 16>are
  <COL INC 17>lists<COL INC 17>themselves.<COL INC 16><SP>In
  <COL INC 17>practice<COL INC 17>it<COL INC 17>is<COL INC 16>often<CR><LF>
<COLUMN=351><FONT=0>convenient<COL INC 10>to<COL INC 10>allow
  <COL INC 10>elements<COL INC 10>of<COL INC 10>a<COL INC 10>list
  <COL INC 10>to<COL INC 10>be<COL INC 10>arbitrary<COL INC 10>S-expressions.
  <COL INC 10>This<COL INC 10>more<CR><LF>
<COLUMN=351><FONT=0>liberal<SP>interpretation<SP>of<SP>lists<SP>is
  <SP>expressed<SP>by<SP>the<SP>following<SP>recognizer:<CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=453><FONT=2>islist[x]<SP><LB>=<SP>[atom[x]
  <SP>→[eq[x;NIL]<SP>→<SP><FONT=13>t<FONT=2>;<SP><FONT=13>t<FONT=2><SP>→
  <SP><FONT=13>f<FONT=2>];<SP><FONT=13>t<FONT=2><SP>→<SP>islist[cdr[x]]
  <SP>]<CR><LINESPACE 20>
<COLUMN=351><FONT=0>Therefore<COL INC 29><FONT=2>(A,<SP>(A<SP>.<SP>B),
  <SP>C)<FONT=0><COL INC 30>is<COL INC 29>a<COL INC 30>list<COL INC 29>of
  <COL INC 30>three<COL INC 29>elements.<COL INC 30><SP>But<COL INC 29>beware:
  <CR><LF>
<COLUMN=351><FONT=0><FONT=1>(A,<SP>(A<SP>.<SP>B),<SP>C)<FONT=0><SP>is
  <SP><FONT=5>not<FONT=0><SP>a<SP>sequence,<SP>and<SP>neither<SP>is<SP>
  <FONT=2>(A,<SP>(A<SP>.<SP>B),<SP>C)<FONT=0>.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Since<COL INC 11>lists<COL INC 11>may
  <COL INC 10>have<COL INC 11>dotted<COL INC 11>pairs<COL INC 10>as
  <COL INC 11>elements,<COL INC 11>it<COL INC 10>is<COL INC 11>natural
  <COL INC 11>to<COL INC 11>extend<COL INC 10><FONT=2>list<FONT=0><CR><LF>
<COLUMN=351><FONT=0>to<SP>handle<SP>such<SP>cases:<CR><LINESPACE 20>
<COLUMN=351><FONT=2><COLUMN=598>list[cons[A;B];car[(A<SP>.<SP>B)]]
  <SP>=<SP>((A<SP>.<SP>B)<SP>A)<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>To<COL INC 15>summarize<COL INC 15>the
  <COL INC 15>accomplishments<COL INC 15>of<COL INC 14>this<COL INC 15>section,
  <COL INC 15>we<COL INC 15>have<COL INC 15>in<COL INC 14>effect<CR><LF>
<COLUMN=351><FONT=0>added<COL INC 12>a<COL INC 12><FONT=5>new<FONT=0>
  <COL INC 12>data<COL INC 12>structure<COL INC 12>to<COL INC 12>the
  <COL INC 12>repertoire<COL INC 12>of<COL INC 12>LISP.<COL INC 12><SP>The
  <COL INC 13>addition<COL INC 12>process<CR><LF>
<COLUMN=351><FONT=0>includes:<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=1>1.<COL INC 17><SP>The
  <COL INC 16>abstract<COL INC 17>operations.<FONT=0><COL INC 16>We
  <COL INC 17>give<COL INC 17>constructors,<COL INC 16>selectors,<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>and<COL INC 12>predicates<COL INC 12>for
  <COL INC 12>the<COL INC 12>recognition<COL INC 12>of<COL INC 12>instances
  <COL INC 12>of<COL INC 12>the<COL INC 12>data<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>structure.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=1>2.<COL INC 16><SP>The
  <COL INC 15>underlying<COL INC 16>representation.<FONT=0><COL INC 15>We
  <COL INC 16>must<COL INC 15>show<COL INC 16>how<COL INC 15>the<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>new<COL INC 12>data<COL INC 12>structure
  <COL INC 12>can<COL INC 12>be<COL INC 12>represented<COL INC 12>in
  <COL INC 12>terms<COL INC 12>of<COL INC 11>existing<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>data<SP>structures.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=1>3.<COL INC 10><SP>Abstract
  <COL INC 10>operations<COL INC 10>as<COL INC 10>concrete<COL INC 10>operations.
  <FONT=0><COL INC 10>We<COL INC 10>must<COL INC 10>write<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>LISP<COL INC 25>functions<COL INC 25>which
  <COL INC 24>faithfully<COL INC 25>mirror<COL INC 25>the<COL INC 24>intended
  <CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>meaning<COL INC 10>of<COL INC 11>the
  <COL INC 10>abstract<COL INC 10>operations<COL INC 11>when
  <COL INC 10>interpreted<COL INC 11>in<COL INC 10>the<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>underlying<SP>representation.<CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423><FONT=1>4.<COL INC 25><SP>The
  <COL INC 25>input/output<COL INC 25>transformations.<FONT=0>
  <COL INC 25>We<COL INC 25>should<COL INC 24>give<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>conventions<COL INC 19>for
  <COL INC 20>transforming<COL INC 19>to<COL INC 20>and<COL INC 19>from
  <COL INC 20>the<COL INC 19>internal<CR><LF>
<COLUMN=351><FONT=0><COLUMN=471>representation.<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=423>There<COL INC 23>is<COL INC 23>another
  <COL INC 23>view<COL INC 24>of<COL INC 23>the<COL INC 23>representability
  <COL INC 23>of<COL INC 24>data<COL INC 23>structures<CR><LF>
<COLUMN=351><FONT=0>([Mor<SP>74]).<COL INC 18>We<COL INC 18>use
  <COL INC 18><FONT=1>transfer<COL INC 18>functions<FONT=0><COL INC 18>which
  <COL INC 18>are<COL INC 18>mappings<COL INC 18>between<COL INC 17>the
  <CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>1.7<COLUMN=854>Lists:<SP>Representations
  <SP>of<SP>Sequences<SP><SP><SP><SP><SP>37<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>abstract<COL INC 13>structure<COL INC 13>and
  <COL INC 13>its<COL INC 14>representation.<COL INC 13><SP>We
  <COL INC 13>need<COL INC 13>two<COL INC 13>transfer<COL INC 14>functions;
  <COL INC 13>a<CR><LF>
<COLUMN=351><FONT=0>write-function,<COL INC 11><FONT=1>W<FONT=0>,
  <COL INC 12>to<COL INC 11>map<COL INC 11>the<COL INC 12>representations
  <COL INC 11>into<COL INC 11>the<COL INC 12>abstract<COL INC 11>objects;
  <COL INC 12>and<COL INC 11>a<CR><LF>
<COLUMN=351><FONT=0>read-function,<SP><FONT=1>R<FONT=0>,<SP>to<SP>map
  <SP>the<SP>abstract<SP>objects<SP>to<SP>their<SP>representations.<CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>Consider<COL INC 15>the<COL INC 15>problem
  <COL INC 15>of<COL INC 15>representing<COL INC 15>sequences.
  <COL INC 15>We<COL INC 15>want<COL INC 15><FONT=1>R<FONT=0>
  <COL INC 16>to<COL INC 15>map<CR><LF>
<COLUMN=351><FONT=0>from<COL INC 11>elements<COL INC 10>of
  <COL INC 11><FONT=12><LB>seq<COL INC 10>elem<RB><FONT=0><COL INC 11>to
  <COL INC 10><FONT=12><LB>sexpr<RB><FONT=0><COL INC 11>(see<COL INC 10>page
  <SP>27<COL INC 11>and<COL INC 10>page<SP>5);<COL INC 11>and
  <COL INC 10>we<CR><LF>
<COLUMN=351><FONT=0>want<COL INC 10><FONT=1>W<FONT=0><COL INC 11>to
  <COL INC 10>map<COL INC 11>from<COL INC 10><FONT=12><LB>sexpr<RB><FONT=0>
  <COL INC 11>to<COL INC 10><FONT=12><LB>seq<COL INC 10>elem<RB><FONT=0>.
  <COL INC 11><SP>Before<COL INC 10>we<COL INC 11>give<COL INC 10>such
  <COL INC 11><FONT=1>R<FONT=0><COL INC 10>and<CR><LF>
<COLUMN=351><FONT=0><FONT=1>W<FONT=0>,<SP>let's<SP>see<SP>what<SP>they
  <SP>will<SP>do<SP>for<SP>us.<SP><SP>We<SP>could<SP>define<SP><FONT=2>first
  <FONT=3>r<FONT=0><SP>such<SP>that:<CR><LINESPACE 20>
<COLUMN=351><FONT=0><COLUMN=703><FONT=2>first<FONT=3>r<FONT=2>[x]<SP>=
  <SP><FONT=1>W<FONT=2>[car[<FONT=1>R<FONT=2>[x]]]<CR><LINESPACE 20>
<COLUMN=351><FONT=0>What<COL INC 15>the<COL INC 15>equation
  <COL INC 15>says<COL INC 15>is<COL INC 15>that<COL INC 15>given
  <COL INC 15>a<COL INC 15>sequence<COL INC 15><FONT=2>x<FONT=0>,
  <COL INC 15>we<COL INC 15>can<COL INC 15>map<COL INC 15>it
  <COL INC 15>to<COL INC 15>the<CR><LF>
<COLUMN=351><FONT=0>S-expression<COL INC 12>representation
  <COL INC 12>using<COL INC 12><FONT=1>R<FONT=0>;<COL INC 12>the
  <COL INC 12>result<COL INC 11>of<COL INC 12>this<COL INC 12>map
  <COL INC 12>is<COL INC 12>an<COL INC 12>S-expr<COL INC 11>and<CR><LF>
<COLUMN=351><FONT=0>therefore<COL INC 11>suitable<COL INC 11>fare
  <COL INC 11>for<COL INC 11><FONT=2>car<FONT=0>;<COL INC 11>the
  <COL INC 11>result<COL INC 11>of<COL INC 11>the<COL INC 11><FONT=2>car
  <FONT=0><COL INC 11>operation<COL INC 11>is<COL INC 12>then
  <COL INC 11>mapped<CR><LF>
<COLUMN=351><FONT=0>back<COL INC 17>into<COL INC 18>the<COL INC 17>set
  <COL INC 18>of<COL INC 17>sequence<COL INC 17>elements<COL INC 18>by
  <COL INC 17><FONT=1>W<FONT=0>.<COL INC 18><SP>The<COL INC 17>other
  <COL INC 18>operations<COL INC 17>for<CR><LF>
<COLUMN=351><FONT=0>manipulating<COL INC 14>sequences<COL INC 14>can
  <COL INC 14>be<COL INC 14>described<COL INC 14>similarly.<COL INC 14>
  <SP>With<COL INC 15>this<COL INC 14>introduction,<CR><LF>
<COLUMN=351><FONT=0>here<SP>are<SP>appropriate<SP>transfer<SP>functions:
  <CR><LINESPACE 20>
<COLUMN=351><FONT=2><FONT=1>W<FONT=2>[e]<SP><LB>=<COLUMN=459>[isnil[e]
  <SP>→<SP>mknull[];<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=459><SP>atom[e]<SP>→<SP>mkindiv[e];<CR>
  <LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=459><SP><FONT=13>t<FONT=2><SP>→<SP>concat[
  <FONT=1>W<FONT=2>[car[e]];<FONT=1>W<FONT=2>[cdr[e]]]<SP>]<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=2><FONT=1>R<FONT=2>[l]<SP><LB>=<COLUMN=447>[null[l]
  <SP>→<SP>NIL;<CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=447><SP>isindiv[l]<SP>→<SP>atomize[l];
  <CR><LINESPACE 3>
<COLUMN=351><FONT=2><COLUMN=447><SP><FONT=13>t<FONT=2><SP>→<SP>cons[
  <FONT=1>R<FONT=2>[first[l]];<FONT=1>R<FONT=2>[rest[l]]]<SP>]<CR>
  <LINESPACE 20>
<COLUMN=351><FONT=0>We<COL INC 16>have<COL INC 17>seen<COL INC 16>all
  <COL INC 17>of<COL INC 16>the<COL INC 17>functions<COL INC 16>and
  <COL INC 17>predicates<COL INC 16>involved<COL INC 17>in<COL INC 16>
  <FONT=1>R<FONT=0><COL INC 17>and<COL INC 16><FONT=1>W<FONT=0><CR><LF>
<COLUMN=351><FONT=0>except<COL INC 10><FONT=2>atomize<FONT=0>,
  <COL INC 10><FONT=2>mknull<FONT=0><COL INC 11>and<COL INC 10><FONT=2>mkindiv
  <FONT=0>.<COL INC 10>In<COL INC 10>terms<COL INC 11>of<COL INC 10>our
  <COL INC 10>current<COL INC 11>representation<COL INC 10>of<CR><LF>
<COLUMN=351><FONT=0>sequences,<COL INC 11>these<COL INC 10>three
  <COL INC 11>functions<COL INC 10>are<COL INC 11>essentially
  <COL INC 10>the<COL INC 11>identity<COL INC 11>function,<COL INC 10>
  <FONT=2>i[x]<SP><LB>=<SP>x<FONT=0>.<CR><LF>
<COLUMN=351><FONT=0>However<COL INC 14>that<COL INC 14>is<COL INC 13>true
  <COL INC 14><FONT=5>only<FONT=0><COL INC 14>because<COL INC 14>of
  <COL INC 13>the<COL INC 14>particular<COL INC 14>representations
  <COL INC 14>that<COL INC 13>we<CR><LF>
<COLUMN=351><FONT=0>picked;<COL INC 10>the<COL INC 10>functions
  <COL INC 10>need<COL INC 10>not<COL INC 11>be<COL INC 10>so
  <COL INC 10>simple.<COL INC 10><SP>A<COL INC 10>more<COL INC 10>careful
  <COL INC 11>inspection<COL INC 10>would<CR><LF>
<COLUMN=351><FONT=0>show<COL INC 15>that<COL INC 15><FONT=2>mkindiv
  <FONT=0><COL INC 15>expects<COL INC 15>as<COL INC 15>input
  <COL INC 15>an<COL INC 15>atomic<COL INC 15>S-expression<COL INC 15>and
  <COL INC 16>outputs<COL INC 15>a<CR><LF>
<COLUMN=351><FONT=0>sequence<COL INC 17>individual;<COL INC 17>
  <FONT=2>atomize<FONT=0><COL INC 17>acts<COL INC 18>conversely.
  <COL INC 17>If<COL INC 17>the<COL INC 17>representations<COL INC 18>of
  <COL INC 17>the<CR><LF>
<COLUMN=351><FONT=0>atomic<COL INC 18>S-expressions<COL INC 19>were
  <COL INC 18>different<COL INC 18>from<COL INC 19>the<COL INC 18>representations
  <COL INC 19>of<COL INC 18>sequence<CR><LF>
<COLUMN=351><FONT=0>individuals,<SP>then<SP>we<SP>would<SP>have<SP>some
  <SP>work<SP>to<SP>do.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 12>review<COL INC 13>what
  <COL INC 12>has<COL INC 12>transpired<COL INC 13>since<COL INC 12>it
  <COL INC 12>is<COL INC 13>a<COL INC 12>model<COL INC 12>of
  <COL INC 13>what<COL INC 12>is<COL INC 13>to<COL INC 12>come.<CR><LF>
<COLUMN=351><FONT=0>We<COL INC 20>developed<COL INC 20>a<COL INC 20>new
  <COL INC 20>abstract<COL INC 20>data<COL INC 20>structure<COL INC 20>called
  <COL INC 20>sequences;<COL INC 19>discussed<CR><LF>
<COLUMN=351><FONT=0>notational<COL INC 23>conventions<COL INC 24>for
  <COL INC 23>writing<COL INC 24>sequences;<COL INC 23>described
  <COL INC 24>operations<COL INC 23>and<CR><LF>
<COLUMN=351><FONT=0>pertinent<COL INC 11>control<COL INC 12>structures
  <COL INC 11>for<COL INC 12>writing<COL INC 11>algorithms;<COL INC 11>and
  <COL INC 12>finally<COL INC 11>showed<COL INC 12>that<COL INC 11>it
  <CR><LF>
<COLUMN=351><FONT=0>was<COL INC 14>possible<COL INC 14>to<COL INC 15>represent
  <COL INC 14>sequences<COL INC 14>in<COL INC 15>the<COL INC 14>previously
  <COL INC 14>developed<COL INC 15>domain<COL INC 14>of<CR><LF>
<COLUMN=351><FONT=0>S-exprs.<COL INC 16>If<COL INC 17>we<COL INC 16>had
  <COL INC 17>a<COL INC 16>machine<COL INC 17>which<COL INC 16>could
  <COL INC 17>execute<COL INC 16>S-expr<COL INC 17>algorithms
  <COL INC 16>we<CR><LF>
<COLUMN=351><FONT=0>could<COL INC 15>encapsulate<COL INC 15>that
  <COL INC 15>machine<COL INC 15>within<COL INC 15>the<COL INC 15>
  <FONT=8>r<FONT=0>-mapping<COL INC 15>such<COL INC 15>that<COL INC 15>we
  <COL INC 15>could<CR><LF>
<COLUMN=351><FONT=0>write<COL INC 14>in<COL INC 13>sequence-notation
  <COL INC 14>and<COL INC 13>have<COL INC 14>it<COL INC 13>translated
  <COL INC 14>internally<COL INC 13>to<COL INC 14>S-expr<COL INC 13>form;
  <CR><LF>
<COLUMN=351><FONT=0>we<COL INC 15>could<COL INC 15>write<COL INC 15>sequence-algorithms
  <COL INC 16>and<COL INC 15>have<COL INC 15>them<COL INC 15>execute
  <COL INC 16>correctly<COL INC 15>using<CR><LF>
<COLUMN=351><FONT=0>the<COL INC 22><FONT=8>r<FONT=0>-maps<COL INC 22>of
  <COL INC 22>the<COL INC 23>sequence<COL INC 22>primitives;
  <COL INC 22>and<COL INC 22>finally<COL INC 22>it<COL INC 23>would
  <COL INC 22>produce<CR><LF>
<COLUMN=351><FONT=0>sequence-output<COL INC 16>rather<COL INC 16>than
  <COL INC 16>the<COL INC 16>internal<COL INC 16>S-expr<COL INC 16>form.
  <COL INC 16>For<COL INC 16>all<COL INC 17>intents<COL INC 16>and<CR><LF>
<COLUMN=351><FONT=0>purposes<COL INC 12>our<COL INC 12>augmented
  <COL INC 13>LISP<COL INC 12>machine<COL INC 12>understands
  <COL INC 12>sequences.<COL INC 13><SP>Indeed,<COL INC 12>this<CR><LF>
<FF>
<COLUMN=351><FONT=0><FONT=11>38<SP><SP>Symbolic<SP>expressions
  <COLUMN=1320>1.7<FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0>is<COL INC 11>the<COL INC 12>way<COL INC 11>most
  <COL INC 12>LISP<COL INC 11>implementations<COL INC 11>are
  <COL INC 12>organized;<COL INC 11>input<COL INC 12>may<COL INC 11>either
  <COL INC 12>be<COL INC 11>in<CR><LF>
<COLUMN=351><FONT=0>S-expr<COL INC 20>form<COL INC 20>or<COL INC 20>list-notation;
  <COL INC 20>internally<COL INC 20>all<COL INC 20>data<COL INC 20>structures
  <COL INC 20>are<COL INC 21>stored<COL INC 20>as<CR><LF>
<COLUMN=351><FONT=0>S-exprs;<COL INC 13>all<COL INC 13>algorithms
  <COL INC 13>operate<COL INC 13>on<COL INC 12>the<COL INC 13>S-expr
  <COL INC 13>form;<COL INC 13>and<COL INC 13>finally,<COL INC 13>any
  <COL INC 12>S-exprs<CR><LF>
<COLUMN=351><FONT=0>which<SP>can<SP>be<SP>interpreted<SP>as<SP>lists
  <SP>are<SP>output<SP>in<SP>list-notation.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=423>We<COL INC 19>will<COL INC 19>approach
  <COL INC 19>the<COL INC 20>other<COL INC 19>abstract<COL INC 19>data
  <COL INC 19>structure<COL INC 19>problems<COL INC 20>in<COL INC 19>a
  <CR><LF>
<COLUMN=351><FONT=0>similar<COL INC 18>manner,<COL INC 17>first
  <COL INC 18>developing<COL INC 17>the<COL INC 18>data<COL INC 17>structures
  <COL INC 18>independent<COL INC 18>of<COL INC 17>their<CR><LF>
<COLUMN=351><FONT=0>representation,<COL INC 11>and<COL INC 11>later
  <COL INC 11>showing<COL INC 11>how<COL INC 12>to<COL INC 11>represent
  <COL INC 11>this<COL INC 11>new<COL INC 11>domain<COL INC 12>in
  <COL INC 11>terms<CR><LF>
<COLUMN=351><FONT=0>of<COL INC 20>some<COL INC 20>previously
  <COL INC 20>understood<COL INC 20>domain.<COL INC 19>We<COL INC 20>will
  <COL INC 20>see<COL INC 20>in<COL INC 20>Section<SP>9.4<COL INC 19>that
  <CR><LF>
<COLUMN=351><FONT=0>much<COL INC 18>of<COL INC 17>the<COL INC 18>mapping
  <COL INC 17>from<COL INC 18>input<COL INC 18>through<COL INC 17>output
  <COL INC 18>can<COL INC 17>be<COL INC 18>specified<COL INC 18>in
  <COL INC 17>a<CR><LF>
<COLUMN=351><FONT=0>natural<COL INC 15>style<COL INC 14>and
  <COL INC 15>LISP<COL INC 15>can<COL INC 14>automatically<COL INC 15>generate
  <COL INC 14>the<COL INC 15>necessary<COL INC 15>input<COL INC 14>and
  <CR><LF>
<COLUMN=351><FONT=0>output<SP>programs.<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=637><FONT=1>Problems<SP>involving<SP>list-notation
  <FONT=0><CR><LINESPACE 25>
<COLUMN=351><FONT=0>1.<SP><SP>Discuss<SP><COLUMN=726><FONT=2>cons[
  <FONT=8>α<FONT=3>1<FONT=2>;cons[<FONT=8>α<FONT=3>2<FONT=2>;<FONT=8>α
  <FONT=3>3<FONT=2>]]<FONT=0><CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=387>as<SP>opposed<SP>to<SP><COLUMN=646>
  <FONT=2>cons[<FONT=8>α<FONT=3>1<FONT=2>;cons[<FONT=8>α<FONT=3>2
  <FONT=2>;<SP>cons[<FONT=8>α<FONT=3>3<FONT=2>;<SP>NIL]]]<FONT=0><CR>
  <LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=387>as<SP>a<SP>representation<SP>for<SP>
  <FONT=2>(<FONT=8>α<FONT=3>1<FONT=2>,<SP><FONT=8>α<FONT=3>2<FONT=2>,
  <SP><FONT=8>α<FONT=3>3<FONT=2>)<FONT=0><CR><LINESPACE 20>
<COLUMN=351><FONT=0>2.<SP><SP>Translate<SP>the<SP>following<SP>lists
  <SP>into<SP>S-expr<SP>dotted-pair<SP>notation.<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=387><FONT=1>a.<FONT=2><SP>(A<SP>B<SP>C)
  <COLUMN=579><FONT=1>b.<FONT=2><SP>(A)<COLUMN=771><FONT=1>c.<FONT=2>
  <SP>((A))<COLUMN=963><FONT=1>d.<FONT=2><SP>(A<SP>(B<SP>(C)))
  <COLUMN=1155><FONT=1>e.<FONT=2><SP>(NIL)<CR><LINESPACE 9>
<COLUMN=351><FONT=0>Now<SP>go<SP>the<SP>other<SP>way<SP>and<SP>translate
  <SP>the<SP>following<SP>S-exprs<SP>into<SP>list<SP>notation.<CR>
  <LINESPACE 9>
<COLUMN=351><FONT=0><COLUMN=387><FONT=1>f.<FONT=2><SP>((A<SP>.<SP>(B
  <SP>.<SP>NIL))<SP>.<SP>((C<SP>.<SP>NIL)<SP>.<SP>NIL))<COLUMN=987>
  <FONT=1>g.<FONT=2><SP>(NIL<SP>.<SP>NIL)<CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=387><FONT=1>h.<FONT=2><SP>(CONS<SP>.<SP>((QUOTE
  <SP>.<SP>(A<SP>.<SP>NIL))<SP>.<SP>NIL))<CR><LF>
<CR><LINESPACE 20>
<COLUMN=351><FONT=0>3.<SP><SP>Evaluate<SP>the<SP>following:<CR>
  <LINESPACE 9>
<COLUMN=351><FONT=0><COLUMN=387><FONT=1>a.<FONT=2><SP>first[(A<SP>B)]
  <COLUMN=819><FONT=1>b.<FONT=2><SP>rest[(A<SP>B)]<CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=387><FONT=1>c.<FONT=2><SP>concat[A;(B<SP>C)]
  <COLUMN=819><FONT=1>d.<FONT=2><SP>concat[A;NIL]<CR><LINESPACE 9>
<COLUMN=351><FONT=2><COLUMN=387><FONT=1>e.<FONT=2><SP>concat[eq[A;A];(A
  <SP>B<SP>C)]<COLUMN=819><FONT=1>f.<FONT=2><SP>first[rest[(A<SP>B)]]
  <CR><LF>
<CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=0><COLUMN=762><FONT=1>1.8<SP><SP>A<SP>Respite
  <FONT=0><CR><LF>
<CR><LINESPACE 3>
<COLUMN=351><FONT=5><COLUMN=423>"...I<COL INC 19>think<COL INC 18>that
  <COL INC 19>one<COL INC 19>of<COL INC 18>the<COL INC 19>chief
  <COL INC 19>difficulties<COL INC 18>is<COL INC 19>that<COL INC 19>the
  <COL INC 18>general<CR><LF>
<COLUMN=351><FONT=5><COLUMN=423>standard<COL INC 13>of<COL INC 13>programming
  <COL INC 13>is<COL INC 13>extremely<COL INC 12>low.<COL INC 13><SP>...I
  <COL INC 13>think<COL INC 13>that<COL INC 13>I<COL INC 12>would<CR><LF>
<COLUMN=351><FONT=5><COLUMN=423>like<COL INC 14>to<COL INC 15>suggest
  <COL INC 14>again<COL INC 14>that<COL INC 15>the<COL INC 14>general
  <COL INC 14>standards<COL INC 15>of<COL INC 14>programming<CR><LF>
<COLUMN=351><FONT=5><COLUMN=423>and<COL INC 13>the<COL INC 13>way
  <COL INC 13>in<COL INC 13>which<COL INC 12>people<COL INC 13>are
  <COL INC 13>taught<COL INC 13>to<COL INC 13>program<COL INC 13>is
  <COL INC 12>abominable.<CR><LF>
<COLUMN=351><FONT=5><COLUMN=423>They<COL INC 15>are<COL INC 15>over
  <COL INC 15>and<COL INC 15>over<COL INC 15>again<COL INC 15>taught
  <COL INC 15>to<COL INC 15>make<COL INC 15>puns;<COL INC 15>to
  <COL INC 16>do<COL INC 15>shifts<CR><LF>
<COLUMN=351><FONT=5><COLUMN=423>instead<COL INC 17>of<COL INC 16>multiplying
  <COL INC 17>when<COL INC 17>they<COL INC 16>mean<COL INC 17>multiplying;
  <COL INC 17>to<COL INC 16>multiply<CR><LF>
<COLUMN=351><FONT=5><COLUMN=423>when<COL INC 15>they<COL INC 15>mean
  <COL INC 16>shifts;<COL INC 15>to<COL INC 15>confuse<COL INC 16>bit
  <COL INC 15>patterns<COL INC 15>and<COL INC 16>numbers<COL INC 15>and
  <CR><LF>
<COLUMN=351><FONT=5><COLUMN=423>generally<COL INC 11>to<COL INC 12>say
  <COL INC 11>one<COL INC 12>thing<COL INC 11>when<COL INC 11>they
  <COL INC 12>actually<COL INC 11>mean<COL INC 12>something<COL INC 11>quite
  <CR><LF>
<COLUMN=351><FONT=5><COLUMN=423>different.<COL INC 12>Now<COL INC 12>this
  <COL INC 13>is<COL INC 12>the<COL INC 12>standard<COL INC 12>way
  <COL INC 13>of<COL INC 12>writing<COL INC 12>a<COL INC 13>program
  <COL INC 12>and<CR><LF>
<COLUMN=351><FONT=5><COLUMN=423>they<COL INC 12>take<COL INC 12>great
  <COL INC 12>pleasure<COL INC 12>in<COL INC 12>doing<COL INC 12>so-"Isn't
  <COL INC 12>it<COL INC 12>wonderful?<COL INC 12>It<COL INC 12>saves
  <COL INC 11>a<CR><LF>
<COLUMN=351><FONT=5><COLUMN=423>quarter<COL INC 13>of<COL INC 13>a
  <COL INC 13>microsecond<COL INC 14>somewhere<COL INC 13>every
  <COL INC 13>month".<COL INC 13>Now<COL INC 13>I<COL INC 14>think
  <COL INC 13>we<CR><LF>
<FF>